在我们的编程模块中,我们被教导如下连接到数据库:
<?php
require_once('MDB2.php');
include "mysql-connect.php"; //to provide $username='...'; $password='...'; etc
$dsn = "mysql://$username:$password@$host/$dbName";
$db =& MDB2::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
$table_catering="catering";
$table_venue="venue";
$db->setFetchMode(MDB2_FETCHMODE_ASSOC);
$sql="SELECT * FROM $table_venue";
$res =& $db->query($sql);
if (PEAR::isError($res)) {
die($res->getMessage());
}
echo "{$res->numRows()}<br />";
$row = $res->fetchRow();
echo $row[strtolower('name')]; //oops MDB2_FETCHMODE_ASSOC converts field names to lower case
?>
这种方法是否正确?任何人都可以推荐替代/更好的方式吗?
有人告诉我它的PHP4并且容易出错和错误。因为我一直在连接数据库,如下所示。我们的笔记如下:
本节讨论使用数据库为PHP脚本供电。 PHP有十几种不同的内置库 数据库技术。实际上你将使用MySQL数据库,但是 通过使用PEAR MDB2,PEAR的一部分(PHP扩展和应用程序 Repository)库,大部分代码都不依赖于类型 正在使用的数据库(供应商中立)。如果你想看看是什么 mysql特定的代码看起来像你可以访问这个旧资料。
PEAR DB的一个特性是它使用面向对象 符号。这对于模块化和模块化具有重要意义 安全 - 但直接和肤浅的后果是 而不是写$ res = fetch($ db)[意思是:使用 函数fetch()从数据库$ db获取一些东西你需要写 $ res = $ db-&gt; fetch()[含义:转到数据库对象$ db并申请 它的fetch()方法。]为了检查你还需要的错误 使用此样式中属于某个类的方法: CLASSNAME ::方法名()。