在任何人跳过我之前,我发现了一个类似的问题here,但不幸的是他们的答案似乎并不适用于我的问题。PHP mysql_query,整数返回而不是资源
我创建了一个名为sqlReturn()
的函数,以便在查询出错时更容易产生错误(使用标准输出)。代码如下:
function sqlResult($query)
{
return mysql_query($query)
or die("SQL Query: " . $query . "<br />SQL Error: " . mysql_error());
}
正如你所看到的,它只是在我喜欢的方式输出错误,它为我节省了一点努力在沿途编码。然而,虽然这已经在大多数情况下工作(例如当我使用SELECT或INSERT的情况下),它抛出以下错误:
PHP Warning: mysql_fetch_array() expects parameter 1 to be resource,
boolean given in /var/www/login/login_submit.php on line 42
它返回1,而不是资源。如果不是调用该函数(它位于一个单独的php文件中),而是简单地在同一个文件中使用该行代码而不返回语句
(即$sqlResult = mysql_query($sqlQuery) or ...
等),它将像平常一样返回资源。
在情况下,它是相关的,我的SQL查询也低于:
$sqlQuery =
"SELECT userID, username, password, access_level
FROM users
WHERE username = '{$username}'
AND (password = '{$password_sha1}' OR password = '{$password_sha256}')";
任何投入在这,将不胜感激。
感谢,
模范
请开机自检代码'mysql_fetch_array()'... – Frankie 2011-04-18 20:55:08
@frankie:这是一个标准的PHP函数... – 2011-04-18 20:56:36
@Marc B I怀疑的Paragon是喂养的功能用一个“布尔” :) – Frankie 2011-04-18 20:59:47