簡體   English   中英

如何從數據庫檢索信息

[英]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版本中刪除。 改用MySQLiPDO 請參閱為什么不應該在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM