正确的连接数据库的方法

时间:2012-03-14 09:33:02

标签: mysql pear php4

在我们的编程模块中,我们被教导如下连接到数据库:

<?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 ::方法名()。

0 个答案:

没有答案