PHP连接和操作MySQL数据库的常用方式有3种,分别是MySQLi (面向对象),MySQLi (面向过程),PDO (面向对象)。MySQLi和PDO 都是PHP的扩展,MySQLi只针对 MySQL 数据库,PDO则可以应用在十几种数据库中。而面向对象和面向过程是项目开发中两种不同的编程思想。
PHP与数据库的交互是先连接,再操作,最后关闭连接。其中操作包括插入,读取,修改,删除这四个基本的功能。以下演示的将是MySQLi (面向过程)的代码示例。
以下的操作中,并不是所有的操作都要同时出现,而是根据需求选择相对应的操作。
//数据库地址
$servername = "localhost";
//数据库账号
$username = "root";
//数据库密码
$password = "123456";
//数据库名称
$database = 'testDB'
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $database);
// 检测连接并展示错误
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
<?php
// 插入操作
// 编写SQL的插入语句
$sql_insert = "INSERT INTO admin (username, password)
VALUES ('Jane', '123456')";
// 插入数据
$result_insert = mysqli_query($conn, $sql_insert);
// 检测是否插入成功
if ($result_insert) {
echo "新记录插入成功";
} else {
// 如果不成功就展示错误信息
echo "Error: " . $sql_insert . "<br>" . mysqli_error($conn);
}
// 读取操作
// 编写SQL的读取语句
$sql_select = "SELECT id, username, password FROM admin";
// 读取数据
$result_select = mysqli_query($conn, $sql_select);
// 检测是否有数据
if (mysqli_num_rows($result_select) > 0) {
// 如果有,就输出数据
while($row = mysqli_fetch_assoc($result_select)) {
echo "用户名: " . $row["username"];
}
} else {
echo "0 结果";
}
// 修改操作
// 编写SQL的修改语句
$sql_update = "UPDATE admin SET password = 8888888
WHERE username='Jane'";
// 修改数据
$result_update = mysqli_query($conn, $sql_update );
// 检测是否修改成功
if ($result_update) {
echo "旧记录修改成功";
} else {
// 如果不成功就展示错误信息
echo "Error: " . $sql_update . "<br>" . mysqli_error($conn);
}
// 删除操作
// 编写SQL的删除语句
$sql_delete = "DELETE FROM admin
WHERE username='Jane'";
// 删除数据
$result_delete = mysqli_query($conn, $sql_delete );
// 检测是否删除成功
if ($result_delete) {
echo "旧记录删除成功";
} else {
// 如果不成功就展示错误信息
echo "Error: " . $sql_delete . "<br>" . mysqli_error($conn);
}
?>
<?php
// 第三步 关闭连接
mysqli_close($conn);
?>