繁体   English   中英

从mysql转换为mysqli,此查询得到空结果

[英]Converting from mysql to mysqli, getting empty results with this query

该查询从不返回结果,即使有匹配项,也应该给我一些东西。 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的新手,所以我可能在这里做了一些愚蠢的事情。 请告诉我我错过了什么。

我评论了,但是格式搞砸了,这是我的建议。 代替当前使用的dbQuery字符串,请尝试以下操作:

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

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

我不喜欢使用bind_params,但是我看不到$ email变量被设置为一个值。 我想假设您这样做了,但是很显然,如果该变量为空,您将永远不会得到结果。

另外,如果您具有访问权限,则可以在mysql服务器上打开调试功能,并查看该请求的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM