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