PHP5操作MySQL数据库有哪些常用代码示例?

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

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注入。

PHP5操作MySQL数据库有哪些常用代码示例?

$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()检查错误编号,快速定位问题原因。

关闭连接的最佳实践

脚本执行完毕后,务必关闭数据库连接,若连接过多未释放,可能导致服务器资源耗尽,建议在脚本结尾统一关闭:

PHP5操作MySQL数据库有哪些常用代码示例?

// 所有数据库操作完成后  
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

(0)
上一篇 2026年1月8日 20:01
下一篇 2026年1月8日 20:01

相关推荐

  • 阜阳人脸识别门禁方案实施后,如何确保居民隐私安全与便利性平衡?

    阜阳人脸识别门禁方案详解方案背景随着科技的不断发展,人脸识别技术在我国得到了广泛应用,阜阳市作为一座历史文化名城,为了提升城市管理水平,保障居民生活安全,决定在全市范围内推广人脸识别门禁系统,本文将详细介绍阜阳人脸识别门禁方案的具体内容,方案目标提高门禁系统安全性:通过人脸识别技术,确保只有授权人员才能进入特定……

    2026年1月21日
    0460
  • apache删除服务器后如何恢复数据或重建服务?

    Apache服务器作为全球广泛使用的Web服务器软件,其安全管理和维护操作至关重要,删除服务器或特定组件的操作需要严谨的流程和注意事项,以避免数据丢失或系统故障,本文将从删除前的准备工作、不同场景下的删除步骤、常见问题处理及安全建议四个方面,详细阐述Apache服务器的删除操作,删除前的准备工作在执行任何删除操……

    2025年10月29日
    0930
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 虚拟主机附送域名,这域名真的免费吗?附赠条件有哪些?

    在当今数字化时代,虚拟主机已成为网站建设和运营的重要基础设施,许多虚拟主机服务提供商为了吸引客户,常常会附赠域名作为增值服务,本文将详细介绍虚拟主机附送的域名,包括其优势、选择注意事项以及如何合理利用,虚拟主机附送域名的优势成本节约使用虚拟主机附送的域名可以节省购买域名的费用,对于预算有限的个人或小型企业来说……

    2025年12月8日
    0950
  • win8电脑连接手机网络的具体方法是什么?手机网络共享到win8电脑的详细步骤详解?

    Win8电脑连接手机网络是实现移动办公、应急网络访问的关键操作,尤其在网络环境不稳定或缺乏固定网络的情况下,通过手机作为移动热点为电脑提供网络连接,能有效保障数据传输与业务连续性,本文将详细解析Win8连接手机网络的方法、注意事项及高级应用,并结合实际案例增强实用性,帮助用户高效完成网络共享设置,准备工作与前提……

    2026年1月9日
    0780

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注