可能重复:
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中。
我做错了什么
答案 0 :(得分:1)
听起来连接数据库时出错。
mysql_*()
函数不会抛出异常。
由于没有返回,因此$connection
被分配NULL
。
NULL
不是有效的MySQL资源,需要mysql_query()
的第二个参数。
答案 1 :(得分:1)
您确定$connection
是非NULL吗?另外,当我发现一个新的Utils对象时,我觉得很奇怪,当Utils :: getConnection是一个静态函数,而不是一个实例方法。