2014-03-14 185 views
0

我有一个简单的查询,它在纯环境中工作,但不适用于PHPUnit。适用于PHP,不适用于PHPUnit

下面的代码,但我不认为这将是任何用处的:

$a = mysql_query("SELECT id,img FROM images"); 
$b = mysql_fetch_array($a); 

我连接到数据库。

错误是:

mysql_fetch_array() expects parameter 1 to be resource, boolean given. 

错误指向的取命令。

+0

检查,如果你有一个有效的连接,据我知道PHP UNIT我们写代码的子文件夹,这将需要做的SQL操作的断言什么有效的SQL连接。 –

+0

您还应该使用Mocks进行测试,以便实际上不需要数据库并控制返回的数据。稍后,可能会添加DBUnit来测试数据库。 –

+0

可能重复的[mysql \ _fetch \ _array()期望参数1是资源,布尔给出在选择](http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to -be-resource-boolean-given-in-select) –

回答

0

查询失败。当查询失败时,mysql_query()函数返回false

您应该总是检查错误。当你的代码不起作用时,你也应该使用read the documentation;它告诉你要寻找什么。

$a = mysql_query("SELECT id,img FROM images"); 
if ($a === false) { 
    die(mysql_error()); 
} 
$b = mysql_fetch_array($a); 
+1

你也应该从'mysql'切换到'mysqli'函数,因为mysql函数已被弃用并且被删除。 – Sven