2013-04-22 76 views
2

Users包含數據但仍顯示Records Not Found的mysql_query不返回數據

<?php 

$conn = mysql_connect("localhost", "root", "pass", "Assign1"); 
$records = mysql_query($conn, "select * from Users"); 

if(!$records) 
{ 
    echo "No Records Found"; 
    exit(); 
} 

while($row = mysql_fetch_array($records)) 
{ 
    echo $row['name'] . " " . $row['pwd']; 
    echo "<br />"; 
} 

mysql_close($conn); 

?> 
+3

您正在使用[**的**過時的數據庫API(HTTP:/ /stackoverflow.com/q/12859942/19068),並應使用[現代替換](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 – Quentin 2013-04-22 10:34:52

+0

檢查記錄計數是這樣的:if(mysql_num_rows($ records)== 0) – itsols 2013-04-22 10:35:06

回答

0

首先我們來解決這個問題。 它實際上顯示的錯誤是沒有選擇的你必須選擇需要的代碼

mysql_select_db(「爲Assign1」,$康恩)數據庫數據庫;

希望此代碼將完全唯一您的問題。嘗試了一次.........

<?php 
$conn = mysql_connect("localhost", "root", "pass"); 
mysql_select_db("Assign1",$conn); 
$result = mysql_query("select * from users", $conn); 
if(!$result) 
{ 
    echo "No Records Found"; 
    exit(); 
} 
while($row = mysql_fetch_array($result)) 
{ 
    echo $row[0]['name']; 
    echo "<br />"; 
} 
mysql_close($conn); 
?> 
11

你有逆轉的參數mysql_query。它應該是:

$records = mysql_query("select * from Users", $conn); 

您的其他問題與if聲明。您在查詢上檢查if,而不是在結果集上。

此外,我相信你可能知道,但mysql圖書館已被棄用,正在被刪除。您應該真的學會使用mysqli函數,因爲它們將在未來對您更有用。

Link to MySQLi documentation - 它確實比mysql圖書館更難。在正確的庫

重新實現:

<?php 

$mysqli = new mysqli("localhost", "user", "pass", "database"); 
$query = $mysqli->query("SELECT * FROM users"); 
$results = $query->fetch_assoc(); 

if($results) { 
    foreach($results as $row) { 
     echo $row['name'] . " " . $row['pwd'] . "<br/>"; 
    } 
} else { 
    echo "No results found."; 
} 

?> 

希望我不只是爲你做你的整個任務,但它可能會是值得的,讓使用mysqli的正常多了一個人。

+0

仍然不能正常工作......... – vish 2013-04-22 10:35:35

+0

@ user2306964 - 編輯了足夠的信息以使用正確的庫工作。 – 2013-04-22 10:38:33

+0

@ user2306964什麼不工作?也許你應該嘗試迴應一個錯誤。例如,在連接和查詢語句的末尾加入'或die(mysql_error());'這樣的語句:'mysql_query(...)或die(mysql_error());'至少你知道這個語句跑。 – itsols 2013-04-22 10:41:35

1

你有mysql_query功能

使用它的這樣一個錯誤的用法:

<?php 
$conn = mysql_connect("localhost", "root", "pass","Assign1"); 
$result = mysql_query("select * from Users", $conn); 
if(!$records) 
{ 
echo "No Records Found"; 
exit(); 
} 
while($row = mysql_fetch_array($result)) 
{ 
    echo $row['name'] . " " . $row['pwd']; 
    echo "<br />"; 
} 
mysql_close($conn); 
?> 
+0

然後什麼是正確的方法? – itsols 2013-04-22 10:36:39

+0

修改..我已經添加了解決方案 – Alex 2013-04-22 10:37:23

0

在這裏你去

<?php 

$conn = mysql_connect("localhost", "root", "pass", "Assign1"); 
mysql_select_db(' ----your-database-here---', $conn) ; 
$records = mysql_query($conn, "select * from Users"); 

if(mysql_num_rows($records) > 0) 
{ 
while($row = mysql_fetch_array($records)) 
{ 
echo $row['name'] . " " . $row['pwd']; 
echo "<br />"; 
} 


}else 
{ 
echo "No Records Found"; 
exit(); 
} 



mysql_close($conn); 

?>