PHP5与MySQL数据库操作是Web开发中的基础技能,掌握常用代码能显著提升开发效率,以下从连接数据库、基本查询、数据操作、安全防护及错误处理等方面,系统整理PHP5操作MySQL的实用代码。

数据库连接与关闭
PHP5中,使用mysql_connect()函数建立MySQL连接,需指定主机名、用户名和密码。
$conn = mysql_connect("localhost", "root", "password");
if (!$conn) {
die("数据库连接失败: " . mysql_error());
}
mysql_select_db("test_db", $conn); // 选择数据库 连接完成后,需通过mysql_close()关闭连接以释放资源:
mysql_close($conn);
注意:PHP5.5+已废弃mysql系列函数,推荐使用mysqli或PDO,但部分旧项目仍需兼容。
执行基本查询
查询操作分为读取和写入两类,读取数据时,常用mysql_query()执行SQL语句,并通过mysql_fetch_array()或mysql_fetch_assoc()遍历结果。
$sql = "SELECT id, name FROM users";
$result = mysql_query($sql, $conn);
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
echo "ID: " . $row['id'] . " Name: " . $row['name'] . "<br>";
}
}
mysql_free_result($result); // 释放结果集 若需插入、更新或删除数据,直接执行mysql_query()即可,但需检查返回值判断操作是否成功。
数据插入与更新
插入数据时,需拼接SQL语句并防范SQL注入。

$name = "John Doe";
$email = "john@example.com";
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if (mysql_query($sql, $conn)) {
echo "数据插入成功,ID: " . mysql_insert_id();
} else {
echo "插入失败: " . mysql_error();
} 更新数据的逻辑类似,只需修改SQL语句为UPDATE格式,并通过WHERE条件限定更新范围。
安全防护:防止SQL注入
SQL注入是常见的安全漏洞,PHP5中可通过mysql_real_escape_string()转义处理:
$user_input = $_POST['username']; $escaped_input = mysql_real_escape_string($user_input, $conn); $sql = "SELECT * FROM users WHERE username = '$escaped_input'";
更优方案:虽然转义能降低风险,但推荐使用mysqli的预处理语句(prepare)或PDO参数化查询,从根本上杜绝注入。
错误处理与调试
数据库操作需完善的错误处理机制,可通过mysql_error()获取错误信息,或自定义错误提示:
$result = mysql_query("SELECT * FROM non_existent_table", $conn);
if (!$result) {
trigger_error("查询错误: " . mysql_error(), E_USER_WARNING);
} 调试时,可开启mysql_errno()检查错误编号,快速定位问题原因。
关闭连接的最佳实践
脚本执行完毕后,务必关闭数据库连接,若连接过多未释放,可能导致服务器资源耗尽,建议在脚本结尾统一关闭:

// 所有数据库操作完成后 mysql_close($conn);
相关问答FAQs
Q1:PHP5中如何判断查询结果是否为空?
A:可通过mysql_num_rows()获取结果集行数判断。
$result = mysql_query("SELECT * FROM users WHERE id = 1", $conn);
if (mysql_num_rows($result) == 0) {
echo "结果为空";
} else {
// 处理数据
} Q2:为什么推荐使用mysqli替代mysql函数?
A:mysql函数在PHP5.5后被废弃,存在以下缺陷:不支持预处理语句、无法面向对象编程、错误处理机制不完善,而mysqli提供了预处理、事务支持和更好的性能,是PHP5+操作MySQL的推荐方式。mysqli连接方式如下:
$conn = new mysqli("localhost", "root", "password", "test_db");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
} 通过以上代码示例和注意事项,开发者可高效完成PHP5与MySQL的交互操作,同时兼顾安全性与可维护性。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/218424.html


