PHP数据库连接问题

时间:2011-07-04 03:54:51

标签: mysql php

  

可能重复:
  Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error

我有一个名为utils的类

class Utils
{
    public static $connection;

    function __construct()
    {   
    }

    public static function getConnection ()
    {
        try
        {
            $connection = mysql_connect("localhost", "root", "robingraves");
            mysql_select_db('repuesto_en_mano',$connection);
            return $connection;
        }
        catch(Exception $e)
        {
            throw new Exception('Error connection with the data base');
        }
    }

    public static function closeConnection ($conn)
    {
        mysql_close($conn);
    }   
}

另一个叫做

的类
require("Utils.php");
$utils = new Utils();
$connection = $utils->getConnection();
echo $connection;
$sqlCommand = 'Select IdMarca from Marca';
$resEmp = mysql_query($sqlCommand, $connection) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
if ($totEmp> 0) {
   while ($rowEmp = mysql_fetch_assoc($resEmp)) {
      echo "<strong>".$rowEmp['IdMarca']."</strong><br>";
   }
}

这就是说

  

PHP警告:mysql_query()期望   参数2为资源,给定为null   在第7行的BrandsService.php中。

我做错了什么

2 个答案:

答案 0 :(得分:1)

听起来连接数据库时出错。

mysql_*()函数不会抛出异常。

由于没有返回,因此$connection被分配NULL

NULL不是有效的MySQL资源,需要mysql_query()的第二个参数。

答案 1 :(得分:1)

您确定$connection是非NULL吗?另外,当我发现一个新的Utils对象时,我觉得很奇怪,当Utils :: getConnection是一个静态函数,而不是一个实例方法。