- 固定 -無法連接到PHP中的MySQLi?
我修正了我遇到的問題。我不是100%確定它是如何修復的,但我認爲這是因爲我將連接端口更改爲3306,然後使用本地主機而不是我的IP連接。謝謝大家花時間幫忙,你們都非常樂於助人。
我有一個真的令人沮喪的問題,我一直在嘗試解決(字面意思)過去4個小時。我無法通過我的php代碼連接到MySQLi。我檢查了用戶名,密碼,數據庫和主機是否正確。這裏是我的代碼:
$mysqli = new mysqli("104.236.***.57", "Josh", "********", "******");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
所有這一切是回聲連接。查詢不返回任何東西(它就像一個空字符串)。當我嘗試echo $連接時,它也是如此。我認爲這是連接問題,因爲它是空的,但你們最清楚(我是MySQL的新手)。我已經研究並嘗試了4個多小時,並沒有任何工作。
太感謝你了,
喬希
編輯:我已經更新的代碼。現在它返回錯誤:連接被拒絕(mysql錯誤)。
我想我已經解決了連接問題,但是我遇到了一個我認爲可能與另一個問題有關的新問題。我有這樣的代碼在這裏:
$servername = "104.***.***.57";
$username = "Josh";
$password = "*******";
$dbname = "*****";
$conn = new mysqli($servername, $username, $password, $dbname, '/var/run/mysqld/mysqld.sock');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"];
}
} else {
echo "0 results";
}
$conn->close();
而且似乎工作,除了它打印「0結果」時,有1
'$ query'是一個結果對象(或者也可能檢查執行中的錯誤),您需要獲取。 – chris85
對不起,但你是什麼意思? @ chris85 – Josh
請參閱http://php.net/manual/en/mysqli-stmt.fetch.php和http://php.net/manual/en/mysqli.query.php關於後者的具體說明'在失敗時返回FALSE 。對於成功的SELECT,SHOW,DESCRIBE或EXPLAIN查詢,mysqli_query()將返回一個mysqli_result對象。對於其他成功的查詢,mysqli_query()將返回TRUE.',所以你要麼有'false','true'或'result object'。 – chris85