php连接mysql

来源:互联网 发布:微信开发教程 php 编辑:程序博客网 时间:2024/06/18 12:30
1、PHP 连接 MySQL
面向对象:建立连接eg
<?php$servername = "localhost";$username = "username";$password = "password";// 创建连接$conn = new mysqli($servername, $username, $password);// 检测连接if ($conn->connect_error){    die("Connection failed: " . $conn->connect_error);}?>
$conn->close();//最后关闭

2、PHP MySQL 创建数据库------语句CREATE DATABASE
$sql = "CREATE DATABASE myDB";if ($conn->query($sql) === TRUE){    echo "Database created successfully";}else{    echo "Error creating database: " . $conn->error;}
3、创建数据表--------------------语句CreateTable
$sql = "CREATE TABLE MyGuests (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL,lastname VARCHAR(30) NOT NULL,email VARCHAR(50),reg_date TIMESTAMP)";if ($conn->query($sql) === TRUE) {    echo "Table MyGuests created successfully";} else{    echo "Error creating table: " . $conn->error;}
注意:
AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1。

4、插入数据------------------语句INSERT INTO
注意:
a、PHP 中 SQL 查询语句必须使用引号
b、在 SQL 查询语句中的字符串值必须加引号,数值和NULL不需要引号

$sql = "INSERT INTO MyGuests (firstname, lastname, email)VALUES ('John', 'Doe', 'john@example.com')";if ($conn->query($sql) === TRUE){    echo "New record created successfully";} else{    echo "Error: " . $sql . "<br>" . $conn->error;}
5、插入多条语句-----------------------mysqli_multi_query() 函数可用来执行多条SQL语句。
$sql = "INSERT INTO MyGuests (firstname, lastname, email)VALUES ('John', 'Doe', 'john@example.com');";$sql .= "INSERT INTO MyGuests (firstname, lastname, email)VALUES ('Mary', 'Moe', 'mary@example.com');";$sql .= "INSERT INTO MyGuests (firstname, lastname, email)VALUES ('Julie', 'Dooley', 'julie@example.com')";if ($conn->multi_query($sql) === TRUE){    echo "New records created successfully";} else{    echo "Error: " . $sql . "<br>" . $conn->error;}
6、预处理语句-----防止 MySQL 注入,因为参数值发送后使用不同的协议,保证了数据的合法性。
主要用于执行多个相同的 SQL 语句,并且执行效率更高。
1)工作原理:
预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:INSERT INTO
 MyGuests (firstname, lastname, email) VALUES(?, ?, ?)
数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出
执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。
2)优点:
相比于直接执行SQL语句,预处理语句有两个主要优点:
a、预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)
b、绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)");$stmt->bind_param("sss", $firstname, $lastname, $email);// 设置参数并执行$firstname = "John";$lastname = "Doe";$email = "john@example.com";$stmt->execute();$firstname = "Mary";$lastname = "Moe";$email = "mary@example.com";$stmt->execute();echo "New records created successfully";$stmt->close();
7、读取数据-------------语句SELECT column_name(s) FROM table_name
$sql = "SELECT id, firstname, lastname FROM MyGuests";$result = $conn->query($sql);if ($result->num_rows > 0){    // 输出每行数据    while($row = $result->fetch_assoc())    {        echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"];    }} else{    echo "0 results";}
8、 Where 子句
$result = mysqli_query($con,"SELECT * FROM Persons WHERE FirstName='Peter'");while($row = mysqli_fetch_array($result)){    echo $row['FirstName'] . " " . $row['LastName'];    echo "<br>";}
9、Order By 关键词---------对记录集中的数据进行排序。
$result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age");while($row = mysqli_fetch_array($result)){    echo $row['FirstName']." " . $row['LastName']." " . $row['Age'];    echo "<br>";}
10、Update
mysqli_query($con,"UPDATE Persons SET Age=36 WHERE FirstName='Peter' AND LastName='Griffin'");
11、Delete From
mysqli_query($con,"DELETE FROM Persons WHERE LastName='Griffin'");
12、ODBC连接
ODBC是一种应用程序编程接口,使我们有能力连接到某个数据源,只要ODBC连接是可用的,就可以通过ODBC连接去连接任意数据库。
1)创建ODBC连接步骤:
a、在控制面板中打开管理工具图标。
b、双击其中的数据源(ODBC)图标。
c、选择系统 DSN 选项卡。
d、点击系统 DSN 选项卡中的添加。
e、选择Microsoft Access Driver。点击完成。
f、在下一个界面,点击选择来定位数据库。
g、为数据库起一个数据源名(DSN)。
h、点击确定。
2)创建到达northwind 的 DSN 的连接,没有用户名和密码。然后创建并执行一条 SQL 语句:
 $conn=odbc_connect('northwind','','');
 $sql="SELECT * FROM customers";
 $rs=odbc_exec($conn,$sql); 
3)取回记录
odbc_fetch_row() 函数用于从结果集中返回记录。返回true或者false。
该函数有两个参数:ODBC 结果标识符和可选的行号:odbc_fetch_row($rs) 

从记录中取回字段:odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称。
从记录中返回第一个字段的值:$compname=odbc_result($rs,1); 
返回名为 "CompanyName" 的字段的值:$compname=odbc_result($rs,"CompanyName"); 
关闭 ODBC 连接:odbc_close($conn); 
eg:
<?php$conn=odbc_connect('northwind','','');if (!$conn){exit("Connection Failed: " . $conn);}$sql="SELECT * FROM customers";$rs=odbc_exec($conn,$sql);if (!$rs){exit("Error in SQL");}echo "<table><tr>";echo "<th>Companyname</th>";echo "<th>Contactname</th></tr>";while (odbc_fetch_row($rs)){    $compname=odbc_result($rs,"CompanyName");    $conname=odbc_result($rs,"ContactName");    echo "<tr><td>$compname</td>";    echo "<td>$conname</td></tr>";}odbc_close($conn);echo "</table>";?>

0 0
原创粉丝点击