PHP如何通过PDO方式连接和操作MySQL数据库?

PHP 鏁版嵁瀵硅薄锛圥HP Data Objects锛孭DO锛夋墿灞曚负PHP璁块棶鏁版嵁搴撳畾涔変簡涓€涓交閲忕骇鐨勪竴鑷存帴鍙c€侾DO鎻愪緵浜嗕竴绉嶉珮鏁堢殑鏂规硶鏉ユ墽琛孲QL鏌ヨ锛屽悓鏃朵繚鎸佷簡瀵瑰悇绉嶆暟鎹簱绯荤粺鐨勫吋瀹规€с€傛湰绡囨枃绔犲皢浠嬬粛濡備綍浣跨敤PDO杩炴帴骞舵搷浣淢ySQL鏁版嵁搴撱€?/p>

PHP濡備綍閫氳繃PDO鏂瑰紡杩炴帴鍜屾搷浣淢ySQL鏁版嵁搴擄紵

涓€銆佸畨瑁呴厤缃甈DO鎵╁睍

鍦ㄥ紑濮嬩箣鍓嶏紝璇风‘淇濇偍鐨凱HP鐜涓凡姝g‘瀹夎骞跺惎鐢ㄤ簡PDO_MYSQL鎵╁睍銆傞€氬父鎯呭喌涓嬶紝鍦╬hp.ini鏂囦欢涓壘鍒癳xtension=pdo_mysql.so锛圠inux绯荤粺锛夋垨extension=php_pdo_mysql.dll锛圵indows绯荤粺锛夛紝鐒跺悗鍘绘帀鍓嶉潰鐨勫垎鍙峰嵆鍙惎鐢ㄨ鎵╁睍銆?/p>

浜屻€佸垱寤篜DO瀹炰緥浠ュ缓绔嬭繛鎺?/h2>

瑕佷娇鐢≒DO涓嶮ySQL杩涜浜や簰锛岄鍏堥渶瑕佸垱寤轰竴涓狿DO瀵硅薄銆備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥浠g爜鐗囨锛?/p>

$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4';
$username = 'root';
$password = '';
try {
    $pdo = new PDO($dsn, $username, $password);
    // 璁剧疆閿欒妯″紡涓哄紓甯?
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

涓婅堪浠g爜涓殑DSN锛堟暟鎹簮鍚嶇О锛夊寘鍚簡涓绘満鍦板潃銆佹暟鎹簱鍚嶄互鍙婂瓧绗﹂泦淇℃伅銆傛偍鍙兘闇€瑕佹牴鎹疄闄呮儏鍐佃皟鏁磋繖浜涘弬鏁般€?/p>

涓夈€佹墽琛孲QL璇彞

涓€鏃︽垚鍔熷缓绔嬩簡涓庢暟鎹簱鐨勮繛鎺ワ紝灏卞彲浠ヤ娇鐢≒DO瀵硅薄鎵цSQL璇彞浜嗐€傚浜庣畝鍗曠殑鏌ヨ锛屽彲浠ヤ娇鐢╭uery()鏂规硶锛涜€屽浜庢秹鍙婄敤鎴疯緭鍏ョ殑鏁版嵁锛屽垯寤鸿浣跨敤prepare()鏂规硶閰嶅悎execute()鏂规硶浠ラ槻姝QL娉ㄥ叆鏀诲嚮銆?/p>

1. 鎵ц绠€鍗曟煡璇?/h3>

濡傛灉鍙渶瑕佽繍琛屼竴涓笉浼氭敼鍙樻暟鎹簱鐘舵€佺殑鏌ヨ锛堜緥濡係ELECT锛夛紝鍙互鐩存帴璋冪敤query()鏂规硶锛屽苟閫氳繃fetch()绯诲垪鍑芥暟鑾峰彇缁撴灉銆?/p>

// 鑾峰彇鎵€鏈夌敤鎴?
$stmt = $pdo->query('SELECT  FROM users');
while ($row = $stmt->fetch()) {
    print_r($row);
}

2. 浣跨敤棰勫鐞嗚鍙?/h3>

褰撻渶瑕佹墽琛屽甫鏈夊弬鏁扮殑鏌ヨ鏃讹紝搴旇鍏堝噯澶囧ソ涓€鏉″寘鍚崰浣嶇鐨凷QL璇彞锛屽啀灏嗗叾浼犻€掔粰prepare()鏂规硶鐢熸垚PDOStatement瀵硅薄锛屾渶鍚庨€氳繃execute()鏂规硶浼犲叆瀹為檯鍊笺€?/p>

// 鎻掑叆鏂扮敤鎴?
$sql = 'INSERT INTO users (name, email) VALUES (:name, :email)';
$stmt = $pdo->prepare($sql);
$stmt->execute([':name' => 'John Doe', ':email' => 'john@example.com']);

鍥涖€佷簨鍔″鐞?/h2>

PDO杩樻敮鎸佷簨鍔$鐞嗗姛鑳斤紝杩欎娇寰楁垜浠彲浠ュ皢澶氫釜SQL鎿嶄綔缁勫悎鎴愪竴涓崟鍏冿紝鍦ㄩ亣鍒伴敊璇椂鑳藉鍥炴粴鎵€鏈夋洿鏀广€傝鍚姩浜嬪姟锛屽彧闇€璋冪敤beginTransaction()鏂规硶锛涙彁浜や簨鍔″垯浣跨敤commit()锛涘鏋滃嚭鐜伴棶棰橈紝鍒欏彲浠ラ€氳繃rollBack()鏉ュ洖婊氥€?/p>

$pdo->beginTransaction();
try {
    // 鎵ц涓€绯诲垪鐩稿叧鑱旂殑鎿嶄綔...
    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
    throw $e;
}

浜斻€佸叧闂繛鎺?/h2>

铏界劧PHP浼氬湪鑴氭湰缁撴潫鏃惰嚜鍔ㄩ噴鏀捐祫婧愶紝浣嗘樉寮忓湴鏂紑涓庢暟鎹簱鐨勮繛鎺ヤ粛鐒舵槸涓ソ涔犳儻銆傚彲浠ラ€氳繃璁剧疆PDO瀵硅薄涓簄ull鏉ュ疄鐜拌繖涓€鐐广€?/p>

$pdo = null;

鍏€佹€荤粨

閫氳繃PDO鏂瑰紡杩炴帴鍜屾搷浣淢ySQL鏁版嵁搴撲笉浠呭畨鍏ㄥ彲闈狅紝鑰屼笖鍏锋湁鑹ソ鐨勮法骞冲彴鎬у拰鏄撶敤鎬с€傛帉鎻′簡浠ヤ笂鍩烘湰姒傚康鍚庯紝鎮ㄥ彲浠ユ洿鍔犵伒娲诲湴鏋勫缓鍩轰簬PHP鐨勫簲鐢ㄧ▼搴忥紝鍏呭垎鍒╃敤鐜颁唬Web寮€鍙戠殑鏈€浣冲疄璺点€?/p>

本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/105306.html

其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
上一篇 3天前
下一篇 3天前

相关推荐

  • MySQL空间数据库的安全性和备份策略有哪些最佳实践?

    随着数据量的不断增长,企业对数据库安全和备份的需求也日益增加。对于使用MySQL空间数据库的企业来说,如何保障数据安全并确保在灾难发生时能够快速恢复是至关重要的。本文将介绍一些针对MySQL空间数据库的安全性和备份策略的最佳实践。 一、安全性方面 1. 用户管理 为不同的用户分配不同级别的权限,例如管理员、开发人员和普通用户等,并严格限制他们可以访问的内容。…

    3天前
    500
  • 云主机创建数据库后,怎样进行有效的性能优化?

    在当今快速发展的数字时代,数据的重要性不言而喻。对于企业而言,如何确保数据处理的效率和质量成为了关键问题之一。尤其是在使用云主机创建数据库后,进行有效的性能优化更是至关重要。 选择合适的硬件配置 我们需要根据实际需求来选择适合的云主机配置。包括但不限于CPU核心数、内存大小等参数。合理地评估业务量与未来发展潜力,并据此调整资源配置可以避免因资源不足导致的性能…

    3天前
    300
  • SQL Server云数据库的安全性设置有哪些最佳实践?

    随着越来越多的企业将业务数据迁移到云端,如何确保这些敏感信息的安全性成为了亟待解决的问题。本文将介绍一些SQL Server云数据库的安全设置最佳实践,以帮助用户更好地保护自己的数据。 一、访问控制 1. 限制管理员权限:仅授予必要的管理员权限,确保只有特定人员能够执行高风险操作。这有助于防止内部人员滥用权力或外部攻击者利用漏洞获取更多权限。 2. 实施最小…

    3天前
    400
  • WDCP数据库创建用户失败:权限不足怎么办?

    在使用WDCP(Web Data Center Panel)进行数据库管理的过程中,有时候会遇到“创建用户失败:权限不足”的问题。这不仅影响了数据库的正常使用,还可能导致一系列业务上的延误。今天我们就来详细探讨一下这个问题的原因以及解决方法。 一、原因分析 “权限不足”通常意味着当前登录账户没有足够的权限去执行创建用户的操作。在WDCP中,每个账号都对应着不…

    3天前
    300
  • 如何在Access数据库中实现数据备份与恢复?

    在Access数据库的使用过程中,数据备份是至关重要的。它就像给我们的数据上了一道保险。一方面,可以防止意外删除或修改重要数据。例如,当操作失误导致关键表格中的数据被误删时,如果之前有备份,就可以轻松恢复到原来的状态;在遭遇硬件故障(如硬盘损坏)、软件错误或者恶意攻击(如病毒入侵)等突发情况时,备份能够保证我们不会永久失去宝贵的业务数据、客户资料等。 二、A…

    1天前
    400

发表回复

登录后才能评论
联系我们
联系我们
关注微信
关注微信
分享本页
返回顶部