2012-10-09 116 views
0

我在我的代碼下面的語句Select語句不顯示任何

$query3="select * from students where student_name = '$referredby'"; 
$result3=mysql_query($query3); 
$num_rows = mysql_num_rows($result3); 
if($num_rows==0){ 
    echo "Nobody Found"; 
    die(); 
}else{ 
    echo "Number Of Rows ".$num_rows; 
    die(); 
}  

如果我做一個回聲的運行查詢$referredby之前變量,它讓我看到了$referredby正確值的值變量,當我看着桌子時,有一個與該值相匹配的學生姓名。

但是,當我運行該程序時,它會在if語句的位置上發出正確的聲音,並在其中測試返回的行數。

我錯過了一些東西,但似乎無法找到它,任何幫助表示讚賞。

+2

那麼,SQL是正確的,所以學生的名字顯然是錯誤的一方。另外,使用PDO或mysqli「語句」。也可以在'$ referencedby'上使用'mysql_real_escape_string',因爲這是可注入的。 – slugonamission

+0

嘗試在運行時回顯查詢 – Sconibulus

+3

如果您正在編寫新項目,那麼使用舊的'mysql_'函數來執行它並不是一個好主意,現在不鼓勵使用它。 – lonesomeday

回答

2

嘗試更換此:

$result3=mysql_query($query3); 

有了這個

$result3 = mysql_query($query3) or die(mysql_error()); 

,看看你得到任何MySQL的錯誤輸出到屏幕上。如果你不這樣做,那麼查詢顯然起作用,並且SQL中的所有內容都是正確的。出於好奇,你有什麼字段類型的列存儲名稱設置爲?文本? VARCHAR? BLOB?它應該不重要,但更多的信息,你可以給我們更好的。

+0

添加它並沒有顯示在屏幕上。我可以在上面和下面放置一個echo語句,它們都顯示,但查詢本身不顯示, 字段類型是varchar – Hank

+0

當我回顯「行數」時,它必須是查詢語句本身的內容。 num_rows它回來空白 – Hank

+0

如果你輸出查詢到一個字符串,所以它打印到屏幕上你會得到什麼?你有phpmyadmin,或者你可以通過CLI連接到你的服務器,並完全按照你的腳本輸出運行查詢並獲得預期回報? – rws907