Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这个错误代码是什么意思_Php_Mysql - Fatal编程技术网

Php 这个错误代码是什么意思

Php 这个错误代码是什么意思,php,mysql,Php,Mysql,可能重复: 我正在尝试将预订日历脚本安装到服务器上,但在运行时出现此错误 Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/illstudy/public_html/includes/functions.php on line 801 脚本中有一个bug。它将布尔值(true或false)传递给希望从SQL查询中获得记录集的函数。这可能是因为SQL查询失败,并且脚本没

可能重复:

我正在尝试将预订日历脚本安装到服务器上,但在运行时出现此错误

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/illstudy/public_html/includes/functions.php on line 801

脚本中有一个bug。它将布尔值(true或false)传递给希望从SQL查询中获得记录集的函数。这可能是因为SQL查询失败,并且脚本没有检查错误。但是,如果没有看到导致问题的代码,就很难说得更具体。

这意味着从mysql获得的“资源”是一个布尔值。。。这可能意味着它是假的,这意味着你的查询有错误


我建议在调用mysql\u fetch\u assoc()之前,您应该检查$resource===FALSE,如果是,那么就调用mysql\u error()。

该错误意味着您在functions.php文件的第801行提供的
mysql\u fetch\u assoc
都不是mysql结果资源

在本例中,您可以看到查询中的
$result
被传递到
mysql\u fetch\u assoc
。您的代码中可能存在一个bug,该bug不会导致MySQL结果,从而导致错误

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_query("SELECT * FROM sometable");

while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

这意味着
mysql\u query()
没有返回mysql资源。它返回布尔值false,这通常意味着SQL中存在错误。将SQL复制并粘贴到PhpMyAdmin或其他数据库管理器中,然后查看它会抛出何种错误。为了避免这种情况,在从中提取数据之前,请始终检查
mysql\u query()
的返回值:

if( !( $result = mysql_query( "SELECT bacon FROM fridge" ) ) ) {
    //Execute code here for query failure such as calling mysql_error() to discover the exact problem
}
注意,这也可能意味着您尚未连接到MySQL。如果尚未执行此操作,请尝试以下操作:

mysql_connect( $host, $user, $pass );

实际上,您向
mysql\u fetch\u assoc()
传递了一个错误的查询。如果您有一个错误的查询,
mysql\u query()
函数返回一个假布尔值,当查询成功完成时,它返回一个资源变量。如果您不检查查询是否成功执行,并将其直接传递到
mysql\u fetch\u array()
您可能经常会遇到此错误。

请向我们展示代码。您只需编写
If(!$result=…)
而无需嵌套,或者您可以根据个人喜好将其嵌套在可读性中。True。但我总是喜欢对帕伦进行修改,让不懂的人更容易阅读@艾伦·斯托姆:括号越少,可读性越好。比较
if(!($result=mysql\u query(“从冰箱中选择培根”){
if(!$result=mysql\u query(“从冰箱中选择培根”){
@PhpMyCoder:这是主观的,但对我个人来说,很难计算括号来找到
所指的表达式。