Php SQL共现错误
可能重复:Php SQL共现错误,php,mysql,Php,Mysql,可能重复: 我发现了这个共同发生的错误,我不知道该怎么办: 警告:mysql_fetch_assoc()希望参数1是资源,字符串在第44行的C:\xampp\htdocs\Project\Func\user.Func.php中给出 代码段如下所示: 42 $user_id = mysql_real_escape_string($user_id); 43 $sql = mysql_query("SELECT `username` FROM `users` WHERE user_id
我发现了这个共同发生的错误,我不知道该怎么办: 警告:mysql_fetch_assoc()希望参数1是资源,字符串在第44行的C:\xampp\htdocs\Project\Func\user.Func.php中给出 代码段如下所示:
42 $user_id = mysql_real_escape_string($user_id);
43 $sql = mysql_query("SELECT `username` FROM `users` WHERE user_id = $user_id");
44 $row = mysql_fetch_assoc($sql);
45 return $row['username'];
我知道触发错误的是mysql\u fetch\u assoc()命令,但为什么呢
有人能告诉我代码中的错误吗?
我非常感谢你的帮助
谢谢。您的代码是否完整?mysql_查询可以返回的唯一可能类型是资源或布尔值。它不能返回字符串 通常,当人们将SQL查询传递给mysql\u fetch\u assoc,而不首先运行mysql\u查询时,就会出现这种情况 另外,如果用户ID是整数,则不必使用mysql\u real\u escape\u字符串,类型转换也可以:
$user_id = (int) $user_id;
查询失败,如果您检查mysql_query()的返回值,您将看到它为false。您可以通过调用mysql_error()找到原因,但一个明显的原因是您没有在SQL中的$user_id周围加引号,这里有8行代码。哪一个是44?我编辑了我的问题,所以只有第44行显示出来。我很感激你的意图,但我们确实需要先看看这些行。你能再插入一次吗?:)我希望这次编辑能把一切都整理好?我猜你的$user\u id是“无效的”。回显它(就在sql之前),并让我们知道它是否是一个实际的数字