簡體   English   中英

使用Mamp和MySQL(PHP)“無法連接”

[英]“Unable to connect” using Mamp and MySQL (PHP)

我正在嘗試使用PHP訪問我的MySQL數據庫,但是我的頁面不斷返回錯誤“無法連接”。 這是我的代碼:

echo '<ul>';

$db_host = "localhost";
$db_user = "user";

$db_link = mysqli_connect($db_host, $db_user, $db_password, $db_name)
or die ("Unable to connect");

$sqlQuery = "SELECT u.user_name, m.message_text, m.time_stamp FROM users AS u INNER JOIN messages m ON u.user_id = m.user_id";

$result = mysqli_query($db_link, $sqlQuery);


if($result)
{
 while ($row=mysqli_fetch_assoc($result)) 
  {
    echo "<li>" . $row['message_text'] . "<br>" . $row['user_name'] . "<br>" . $row['time_stamp'] . "</li>\n\t\t<hr>";
}
}
else
{
echo '<p>error displaying resultset</p>';
}

mysqli_close($db_link);
echo '</ul>';
<?php
$link = mysql_connect("localhost","root","") or die("Cannot connect to server");

$dbname="test";

mysql_select_db($dbname,$link) or die("Cannot connect to the database");

?>

似乎您尚未設置$db_password$db_name ,而后者肯定是連接數據庫所必需的。 還應該在假設您已經為數據庫設置了密碼的情況下設置前者(您確實設置了密碼,對嗎?)驗證是否正確設置了這些變量,然后在$ db_link上執行var_dump(),如下所示:

echo "<pre>";     //For formatting. 
var_dump($db_link);
echo "</pre>"

這將使您了解是否已正確設置數據庫的連接對象。

UPDATE

SELECT
    u.user_name,
    m.message_text,
    m.time_stamp
FROM
    users AS u
INNER JOIN messages m ON u.user_id = m.user_id

這是您的查詢,但格式正確。 注意最后一行,您有:

INNER JOIN messages m

不需要使用“ m”,為了進行調試,我建議使用以下格式設置查詢格式:

$sqlQuery = "SELECT `user`.user_name, `message`.`message_text`, `message`.time_stamp FROM users INNER JOIN messages ON `users`.user_id = `message`.user_id";

編輯:順便說一句,您提到使用var_dump時查詢給您一個bool(false)。 這告訴您查詢失敗,並通知您開始調試它。 (PHP.net)

暫無
暫無

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

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