我最近安裝了MAMP。但我無法成功執行MySQL的MySQL查詢。我可以從PHP連接到MySQL,但所有的查詢返回爲NULL。我沒有收到任何錯誤消息或其他消息,可以幫助我診斷問題。MAMP - 所有MySQL查詢返回空
奇怪的是,我可以用phpMyAdmin和MySQLWorkbench成功查詢MySQL。
這裏是我的代碼:
<?php
$link = mysqli_init();
$con = mysqli_real_connect($link, 'localhost', 'root', 'root', 'mrmk', 8889);
$db = 'mrmk';
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
$sql = "SHOW TABLES FROM `$db`";
$result = mysqli_query($con, $sql);
echo "</br>" . "1. MySQL Error: " . mysqli_error();
echo "</br>" . "result: ";
var_dump($result);
$sql = "SHOW TABLES FROM $db";
$result = mysqli_query($con, $sql);
echo "</br></br>2. MySQL Error: " . mysqli_error();
echo "</br>" . "result: ";
var_dump($result);
$sql = "SELECT * FROM `transactionTable` WHERE `attorneyName` LIKE \'%howard%\'";
$result = mysqli_query($con, $sql);
echo "</br></br>3. MySQL Error: " . mysqli_error();
echo "</br>" . "result: ";
var_dump($result);
if (!$result) {
echo "</br></br>" . "4. MySQL Error: " . mysqli_error();
exit;
} else {
echo "we should have results.";
}
while ($row = mysqli_fetch_row($result)) {
echo "Table: {$row[0]}\n";
}
mysqli_free_result($result);
?>
當我通過本地主機訪問的頁面我得到這個:
Host information: Localhost via UNIX socket
1. MySQL Error:
result: NULL
2. MySQL Error:
result: NULL
3. MySQL Error:
result: NULL
4. MySQL Error:
當我從phpMyAdmin的執行相同的查詢,他們成功地執行並返回非NULL結果。
我有兩個問題:
- 我可以添加哪些代碼,以幫助診斷這個問題?
- 我的代碼中是否有錯誤導致我得到NULL結果。
我沒有看到你定義'$ db'的地方。 –