从mysql转换为mysqli,使用此查询获取空结果

时间:2014-03-10 18:57:17

标签: php mysqli

这个查询永远不会返回结果,即使有匹配也应该给我一些东西。 var_dump($ result)始终返回NULL。 $ con有效且代码没有错误。

$con = new mysqli($dbHostname,$dbUsername,$dbPwd,$dbName);
$dbQuery = "SELECT Field1, Field2 FROM People WHERE UCASE(EmailAddress) = UCASE(?) AND (Status = 'A' OR Status = 'M')";
$stmt = $con->prepare($dbQuery);
$stmt->bind_param('s',$email);
$stmt->execute();
$stmt->bind_result($result);

我是mysqli的新手,所以我可能只是在这里做了些蠢事。请告诉我我错过了什么。

2 个答案:

答案 0 :(得分:-1)

我评论说,但格式化了,这是我的建议。不要使用当前的dbQuery字符串,请尝试以下方法:

$dbQuery = "SELECT `Field1`,`Field2` FROM `People` WHERE UCASE(`EmailAddress`) = UCASE(?) AND (`Status`='A' OR `Status`='M')";

类似的问题为我输出错误,不包括`在SQL字符串中。

答案 1 :(得分:-2)

我不喜欢使用bind_params,但我没有看到$ email变量被设置为值。我想假设你做了,但很明显,如果该变量是空的,你将永远不会得到结果。

此外,如果您有权访问,您可以打开mysql服务器上的调试,看看有关此请求的内容。