一、知识点梳理
(一)使用PHP连接到MySQL服务器
-
安装必要的软件:
在基于Ubuntu的系统上,可以使用以下命令:sudo apt-get install php mysql-server php-mysql
-
启动MySQL服务:
使用以下命令:sudo service mysql start
-
创建MySQL数据库和用户:
登录MySQL并创建一个数据库以及一个可以连接到该数据库的用户。替换<your_database>
和<your_user>
为使用的数据库和用户名。mysql -u root -p
CREATE DATABASE <your_database>; CREATE USER '<your_user>'@'localhost' IDENTIFIED BY '<your_password>'; GRANT ALL PRIVILEGES ON <your_database>.* TO '<your_user>'@'localhost'; FLUSH PRIVILEGES;
-
编写PHP代码连接到MySQL:
创建一个PHP文件,例如connect.php
,并使用以下代码连接到MySQL数据库。<your_database>
,<your_user>
, 和<your_password>
为设置的数据库名、用户名和密码。<?php $servername = "localhost"; $username = "<your_user>"; $password = "<your_password>"; $dbname = "<your_database>"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; $conn->close(); ?>
保存文件并在浏览器中打开该文件,如果一切设置正确,将会显示 "Connected successfully"。
(二)使用PHP创建数据库表
可以使用PHP执行 SQL 查询语句来创建数据库表。以下是一个简单的示例:
<?php
$servername = "localhost";
$username = "<your_user>";
$password = "<your_password>";
$dbname = "<your_database>";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL 查询,创建表
$sql = "CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Table 'users' created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
// 关闭连接
$conn->close();
?>
在这个例子中,我们使用 CREATE TABLE
SQL 查询语句创建了一个名为 users
的表,该表包含 id
、firstname
、lastname
、email
和 reg_date
列。你可以根据自己的需求修改表的结构。
确保替换 <your_user>
, <your_password>
, 和 <your_database>
为你的实际数据库用户名、密码和数据库名。保存文件并在浏览器中运行它,如果一切设置正确,将会显示 "Table 'users' created successfully"。
(三)使用PHP将记录插入表中
<?php
$servername = "localhost";
$username = "<your_user>";
$password = "<your_password>";
$dbname = "<your_database>";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 准备要插入的数据
$firstname = "John";
$lastname = "Doe";
$email = "[email protected]";
// SQL 查询,插入数据
$sql = "INSERT INTO users (firstname, lastname, email)
VALUES ('$firstname', '$lastname', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record inserted successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
// 关闭连接
$conn->close();
?>
在这个例子中,我们使用 INSERT INTO
SQL 查询语句将一条记录插入到名为 users
的表中。我们指定了要插入的 firstname
、lastname
和 email
值。 <your_user>
, <your_password>
, 和 <your_database>
为实际数据库用户名、密码和数据库名。修改 $firstname
、$lastname
和 $email
变量以插入想要的数据。保存文件并在浏览器中运行它,如果一切设置正确,将会显示 "New record inserted successfully"。
(四)使用PHP删除行
要使用PHP删除数据库表中的行,你可以使用 DELETE
SQL 查询语句。以下是一个简单的示例:
<?php
$servername = "localhost";
$username = "<your_user>";
$password = "<your_password>";
$dbname = "<your_database>";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 准备要删除的数据条件
$id_to_delete = 1; // 你要删除的记录的id
// SQL 查询,删除数据
$sql = "DELETE FROM users WHERE id = $id_to_delete";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
// 关闭连接
$conn->close();
?>
在这个例子中,我们使用 DELETE FROM
SQL 查询语句删除了 users
表中 id
为 $id_to_delete
的记录。 <your_user>
, <your_password>
, 和 <your_database>
为实际数据库用户名、密码和数据库名。修改 $id_to_delete
变量以指定要删除的记录的id。保存文件并在浏览器中运行它,如果一切设置正确,将会显示 "Record deleted successfully"。
二、自主学习
(一)实战演练
(二)苏格拉底挑战