我正在尝试使用与其关联的 id
从我的数据库中检索 email
字段:
$query2 = mysql_query("SELECT email FROM `users` WHERE `id` = '".$userID."' ") or die(mysql_error());
这个查询总是返回 NULL
,我不知道为什么。
已使用 var_dump
测试 $userID
确实正确。
但是当我将它与硬编码值而不是 $userID
一起使用时,它工作正常:
$query2 = mysql_query("SELECT email FROM `users` WHERE `id` = '85' ") or die(mysql_error());
为什么 $userID
变量没有传递给我的查询?有没有办法正确传递它?
编辑:
按要求声明 $userID。此变量的 var_dump 在查询 2 之前的行工作正常。
// Fetch ID for matching details
$query = mysql_query("SELECT id FROM `users` WHERE `email` = '".$emailInput."' && `username` = '".$usernameInput."' ") or die(mysql_error());
// Successful query - ID stored
if(mysql_num_rows($query) > 0){
$userID = mysql_fetch_array($query);}
var_dump($userID);
两个 var_dumps 在页面上输出以下内容:
array(2) { [0]=> string(2) "85" ["id"]=> string(2) "85" } NULL
最佳答案
我说 $userID
是一个数组的事实是你的问题......在查询中改为执行 $userID['id']
。
$query2 = mysql_query("SELECT email FROM `users` WHERE `id` = '" . $userID['id'] . "' ") or die(mysql_error());
关于php - SQL 请求取回数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788555/