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不需要引号
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
预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:INSERT INTO
MyGuests (firstname, lastname, email) VALUES(?, ?, ?)
数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出
执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。
2)优点:
执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。
2)优点:
相比于直接执行SQL语句,预处理语句有两个主要优点:
a、预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)
b、绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句
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、点击确定。
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);
$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);
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
- PHP连接MYSQL数据库
- 用PHP连接MySQL
- php连接mysql数据库
- php连接mysql数据库
- PHP 连接MySQL 数据库
- PHP连接mysql例子
- PHP连接MYSQL问题解决
- php连接mysql数据库
- PHP连接MysqL
- PHP连接MySQL
- php连接mysql
- PHP连接MYSQL数据库
- php连接mysql
- php连接mysql数据库
- PHP连接MySQL
- PHP连接mysql例子
- PHP连接MySQL
- php远程连接mysql
- linux文件系统中各文件夹存放系统文件的作用
- 数组插入排序
- centos如何进入图形界面和centos已经进到图形界面后怎么打开命令行
- Android-使用OpengGL实现的Canvas进行绘制(简单介绍)
- Atitit 代理与分销系统(1) 子代理 充值总额功能设计概览 sum() groubpy subagt
- php连接mysql
- MardownDemo
- leetcode oj java arrangecoins
- javascripts页面跳转
- Android 资源整合
- JS设置cookie、读取cookie、删除cookie
- 自治事务和变异表的行级触发器部分问题
- spark初窥
- Atitti css transition Animation differ区别