2014-09-21 63 views
0

我正在開發一個應用程序,現在我的WAMP(PHP 5.5.12,MySQL 5.6.17)。MySQL:無效的查詢。沒有錯誤信息

我有一個功能,顯示頁面上的所有事件。由於有一個名爲city的列,但在數據庫中此列包含cityID,我寫了一個函數,它將查詢數據庫以通過id獲取城市名稱。

所以,這是我所:

$city = self::getCity($row['id']); 

和我getCity():

// Getting Config file data (DB connection info); 
$conf = $this->getConf(); 
$mysqli = $this->dbConnect($conf); 

    // Quering... 
$query = "SELECT * FROM cities WHERE id = '" . $id . "';"; 
$result = $mysqli->query($query); 

if (!$result) { 
    $message = 'Invalid query: ' . mysql_error() . "\n"; 
    die($message); 
} 

$row = $result->fetch_array(); 
$city = $row['city']; 
return $city; 

我來到這裏是:Invalid query:沒有任何錯誤消息。我假設我的查詢是不好的,但我試圖以不同的方式修改它(只是提及,我只是試過這個:DROP TABLE cities,因爲只有3或4個條目)。

但是在我添加die($message)字符串之前,我遇到了Call to a member function fetch_array() on a non-object致命錯誤。

我必須說,dbConnect()沒有任何錯誤,因爲我從其他函數調用它,它工作得很好。

我的問題在哪裏?我究竟做錯了什麼?

UPD:從法國切換的MySQL的語言爲英語(這是默認設置爲法語),並改變後mysql_errormysqli_error(我的錯,對不起),它說我No database selected

+0

它與你的問題沒有關係,但mysqli死了。使用PDO – hakiko 2014-09-21 09:21:36

+1

Mysqli是活着的:http://php.net/manual/en/mysqlinfo.api.choosing.php – andy 2014-09-21 09:23:10

+0

其中是函數定義? – hakiko 2014-09-21 09:23:12

回答

-1

試試這個

$query = "SELECT * FROM cities"; 

如果你寫了這個

$query = "SELECT * FROM cities;"; 

看到雙引號裏面的;

+0

否定的。它甚至可以在最後以分號結束。但我已經嘗試了兩種變體。 – 2014-09-21 09:21:26