簡體   English   中英

PHP MySQL查詢未返回任何結果

[英]PHP MySQL queries return no results

我通過PHP對MySQL的查詢未返回任何結果。 首先,我嘗試連接並在已知表上進行選擇,但沒有結果。 然后,我嘗試獲取表的列表,再次沒有結果。 當我通過phpMyAdmin查看數據庫時,可以看到表及其內容。 這是我的代碼。 誰能提供一些有關我做錯事情的幫助?

<?php
# /* $ php -f db-connect-test.php */

echo"preparing to connect";

$dbname = '#########';
$dbuser = '#########';
$dbpass = '#########'; 
$dbhost = 'localhost';

$connect = @mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("Unable to Connect to '$dbhost'");

echo"<html>";
echo"<title>test page</title>";
echo"<body>";
echo"<h2> test page</h2>";

/* check connection */
if ($conn->connect_error) {
    die("Connection failed: " . mysqli_connect_error());
}
else{
     echo"Successfully Connected <p>";
}
if(mysqli_ping($connection)){
    echo "got it<p>";
}
$sql = "SELECT * FROM `announcements`";
$result = mysqli_query($dbname, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
       echo 'date: ' . $row['date'] . '\tTitle: ' . $row['title'] . '\tBody: ' . $row['body'] .'<br />';
    }
} else {
    echo "0 results<p>";
    $sql = "SHOW TABLES";
    $result = mysqli_query($dbname, $sql);

    if (!$result) {
        echo "DB Error, could not list tables<p>";
        echo 'MySQL Error: ' . mysqli_error();
    }
    else{
        while ($row = mysqli_fetch_row($result)) {
            echo "Table: {$row[0]}<p>";
        }
    }

}
$conn->close();

echo"</body>";
echo"</html>";
?>

這是我看到的結果:

准備連接

測試頁

連接成功

0結果

DB錯誤,無法列出表

MySQL錯誤:

結果結束

由於某種原因,我無法使MySQL返回錯誤消息。

調用mysqli_query()

mysqli_query($dbname, $sql);

第一個參數是您的數據庫鏈接而不是名稱...

mysqli_query($connect, $sql);

另外-不要在連接(最好在任何地方)使用@,因為這樣可以避免錯誤。

更新:也剛剛注意到...

mysqli_ping($connection)

應該是...

mysqli_ping($connect)

您只需要復制並粘貼此代碼

您不必使用$dbname不必使用$connect

<?php
# /* $ php -f db-connect-test.php */

echo"preparing to connect";

$dbname = '#########';
$dbuser = '#########';
$dbpass = '#########'; 
$dbhost = 'localhost';

$connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("Unable to Connect to '$dbhost'");

echo"<html>";
echo"<title>test page</title>";
echo"<body>";
echo"<h2> test page</h2>";

/* check connection */
if ($conn->connect_error) {
    die("Connection failed: " . mysqli_connect_error());
}
else{
     echo"Successfully Connected <p>";
}
if(mysqli_ping($connection)){
    echo "got it<p>";
}
$sql = "SELECT * FROM `announcements`";
$result = mysqli_query($connect, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
       echo 'date: ' . $row['date'] . '\tTitle: ' . $row['title'] . '\tBody: ' . $row['body'] .'<br />';
    }
} else {
    echo "0 results<p>";
    $sql = "SHOW TABLES";
    $result = mysqli_query($connect, $sql);

    if (!$result) {
        echo "DB Error, could not list tables<p>";
        echo 'MySQL Error: ' . mysqli_error();
    }
    else{
        while ($row = mysqli_fetch_row($result)) {
            echo "Table: {$row[0]}<p>";
        }
    }

}
$conn->close();

echo"</body>";
echo"</html>";
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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