APP NEWS

五个常见 PHP 数据库问题

揭露PHP应用程序中出现的五个常见数据库问题——包括数据库模式设计、数据库访问和使用数据库的业务逻辑代码——以及它们的解决方案。如果只有一种方式使用数据库是正确的……您可以用很多的方式创建数据库设

2015-06-28 00:000 次阅读
五个常见 PHP 数据库问题
  揭露 php 应用程序中出现的五个常见数据库问题 —— 包括数据库模式设计、数据库访问和使用数据库的业务逻辑代码 —— 以及它们的解决方案。
  如果只有一种 方式使用数据库是正确的……

  您可以用很多的方式创建数据库设计、数据库访问和基于数据库的 PHP 业务逻辑代码,但最终一般以错误告终。本文说明了数据库设计和访问数据库的 PHP 代码中出现的五个常见问题,以及在遇到这些问题时如何修复它们。

  问题 1:直接使用 mysql

  一个常见问题是较老的 PHP 代码直接使用 mysql_ 函数来访问数据库。清单 1 展示了如何直接访问数据库。

  清单 1. access/get.php CODE: function get_user_id( $name )
{
 $db = mysql_connect( 'localhost', 'root', 'password' );
 mysql_select_db( 'users' );

 $res = mysql_query( &SELECT id FROM users WHERE login='&.$name.&'& );
 while( $row = mysql_fetch_array( $res ) ) { $id = $row[0]; }

 return $id;
}

var_dump( get_user_id( 'jack' ) );
?>    注意使用了 mysql_connect 函数来访问数据库。还要注意查询,其中使用字符串连接来向查询添加 $name 参数。

  该技术有两个很好的替代方案:PEAR DB 模块和 PHP Data Objects (PDO) 类。两者都从特定数据库选择提供抽象。因此,您的代码无需太多调整就可以在 IBM? DB2?、MySQL、PostgreSQL 或者您想要连接到的任何其他数据库上运行。

  使用 PEAR DB 模块和 PDO 抽象层的另一个价值在于您可以在 SQL 语句中使用 ? 操作符。这样做可使 SQL 更加易于维护,且可使您的应用程序免受 SQL 注入攻击。

  使用 PEAR DB 的替代代码如下所示。

  清单 2. Access/get_good.php CODE: require_once(&DB.php&);

function get_user_id( $name )
{
 $dsn = 'mysql://root:password@localhost/users';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( 'SELECT id FROM users WHERE login=?',array( $name ) );
 $id = null;
 while( $res->fetchInto( $row ) ) { $id = $row[ 相关阅读 2021年最好用的10款php开发工具推荐 plsql developer怎么连接数据库-plsql developer连接数据库方法 php利用淘宝IP库获取用户ip地理位置 在 PHP 中使用命令行工具 php出现Cannot modify header information问题的解决方法大全 详解ucenter原理及第三方应用程序整合思路、方法 文章评论

查看所有0条评论>>

发表评论

提交评论

热门文章 2021年最好用的10款php开发工具推荐 2021年最好用的10款php开发工具推荐 plsql developer怎么连接数据库-plsql developer连接数据库方法 plsql developer怎么连接数据库-plsql developer连接数据库方法 在 PHP 中使用命令行工具 在 PHP 中使用命令行工具 php应用程序安全防范技术研究 php应用程序安全防范技术研究 关于php curl获取301或302转向的网址问题 关于php curl获取301或302转向的网址问题

相关下载

人气排行 详解ucenter原理及第三方应用程序整合思路、方法 plsql developer怎么连接数据库-plsql developer连接数据库方法 PHP中防止SQL注入攻击 PHP会话Session的具体使用方法解析 PHP运行出现Notice : Use of undefined constant 的解决办法 PHP如何清空mySQL数据库 CakePHP程序员必须知道的21条技巧 PHP采集图片实例(PHP采集) 完美解决failed to open stream: HTTP request failed! 无法执行的解决办法 2021年最好用的10款php开发工具推荐 用header或meta实现PHP页面编码的区别

关于我们| 下载帮助| 版权声明| 合作伙伴| 友情连接| 联系我们| 网站地图

Copyright © 2007-2026 IT猫扑网 All Rights Reserved. 豫ICP备2026021191号-1 豫公网安备42010145200009号

{ "@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld", "@id": "https://www.itmop.com/article/1566.html", "appid": "否", "title": "五个常见 PHP 数据库问题-IT猫扑网", "images": ["/e/data/images/notimg.gif"], "description": "{$Excerpt}", "pubDate": "2015-06-28T00:00:00", "upDate": "2015-06-28T00:00:00", "data": { "WebPage": { "pcUrl": "https://www.itmop.com/article/1566.html", "wapUrl": "https://m.itmop.com/article/1566.html", "fromSrc": "IT猫扑网" } } }
YOU MAY ALSO LIKE

更多应用推荐

浏览应用库