PHP - SQL查询不返回任何结果

问题描述:

我必须在这里丢失一些非常明显的东西,但我不明白我在这里做错了什么。出于某种原因,$行是空的,这不应该发生。虽然我没有收到任何错误。PHP - SQL查询不返回任何结果

$uname=mysqli_real_escape_string($conn,$_SESSION["username"]); 
$query1="SELECT user_id FROM users WHERE username='$uname'"; 

$results=$conn->query($query1); 
if($results->num_rows>0){ 
    while($row=$results->fetch_assoc()){ 
     $uid=mysqli_real_escape_string($row["user_id"]); 
    } 
} 

对不起,如果这是一个坏问题,我会立即删除它,但我将不胜感激任何帮助。

+0

你没有真正检查[错误](http://php.net/manual/en/mysqli.error.php),所以你怎么知道? – aynber

+0

回应您的查询尝试在PHPMyAdmin中运行。它是否返回一些数据? –

+0

我会尝试'$ rowcount = mysqli_num_rows($ result)' – MaxZoom

毫无疑问是一个坏的问题imo..we都在这里学习不是它,我宁愿构建这样的代码:

$uname=mysqli_real_escape_string($conn,$_SESSION["username"]); 
$query1=mysqli_query($conn, "SELECT user_id FROM users WHERE username='$uname'"); 

if ($query1){ 
    while ($row = mysqli_fetch_assoc($query1){ 
     $user_id = $row['user_id']; 
     echo $user_id; 
    } 
} 
+0

这是行得通的。我不知道我们可以这样做。谢谢!我需要读更多。 – Archon

+0

关于坏的问题,它发生在我以前的一次,这是一个这样的问题,我不得不删除它,却没有得到答案。 – Archon

+0

它发生在我身上,但关键是永远不要被吓倒。 – Flexi

试试这个

$uname=mysqli_real_escape_string($conn,$_SESSION["username"]); 
$query1="SELECT user_id FROM users WHERE username= 
'$uname'"; 

$results=mysqli_query($conn, $query1); 
if(mysqli_num_rows($results) >0){ 
    $row=$results->fetch_assoc(); 
    $uid=$row["user_id"]; 
} 
+0

糟糕的连接在那里。你不需要这些时段。 – aynber

+0

回声你的查询和检查 – mayank

+0

@aynber现在尝试。 – mayank