2017-06-22 47 views
0

我必須在這裏丟失一些非常明顯的東西,但我不明白我在這裏做錯了什麼。出於某種原因,$行是空的,這不應該發生。雖然我沒有收到任何錯誤。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

回答

2

毫無疑問是一個壞的問題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

1

試試這個

$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