[英]How to retrieve information from a database
我有以下代碼從數據庫檢索信息。 它連接到數據庫,但是當我嘗試顯示信息時,我什么也看不到。 我只有虛線。 我認為問題出在while循環中,我只是看不到我的錯誤在哪里。 有人可以幫忙嗎?
$connection = mysql_connect("127.0.0.1","root","xxxxxxxx");
if (!$connection)
{
printf("Can't connect to MySQL Server.", mysqli_connect_error());
}
mysql_select_db('xxxxxx') or die ('Could not select database');
echo 'You have been connected succesfully to your database';
$query = "SELECT *FROM testing";
$result = mysql_query($query) or die("Query fail:".mysql_error());
while ($row = mysql_fetch_array($result));
{
echo $row['age']."--".$row['sex']."--".$row['id']."--".$row['country']."--".$row['sport']." ";
}
?>
您應該在while(...)
)之后刪除分號( ;
),這樣最終代碼將如下所示:
while ($row = mysql_fetch_array($result))
{
echo $row['age']."--".$row['sex']."--".$row['id']."--".$row['country']."--".$row['sport']." ";
}
while
循環中的任何內容(介於{
和}
之間)將被調用盡可能多的行,這將返回您的查詢。 例如,如果您的查詢將返回4行,則您的代碼( echo ...
)將重復4次。 在第一輪中,變量$row["age"]
, $row["sex"]
, $row["id"]
和$row["country"]
將包含第一行的結果。 在第二輪運行中,這些變量將包含第二行的結果...
另外,請不要使用mysql_*
函數,它們已被棄用 ,並將在以后的PHP版本中刪除。 改用MySQLi
或PDO
。 請參閱為什么不應該在PHP中使用mysql_ *函數? 更多細節。
我遇到了類似的問題,結果我的數據庫中沒有信息,並且我的值名稱之一不正確。 您可以確認數據庫中存在有效值嗎?
使用mysqli
$db = new mysqli("localhost","admin","XXXXXX","test");
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$query = "SELECT * FROM `testing`";
if(!$result = $db->query($query)){
die('There was an error running the query [' . $db->error . ']');
}
// echo $result->num_rows; Uncomment to make sure there is data being ruturned
while($row = $result->fetch_assoc()){
echo $row['age']."--".$row['sex']."--".$row['id']."--".$row['country']."--".$row['sport']." ";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.