我正在我的WAMP上开发一个应用程序(PHP 5.5.12,MySQL 5.6.17)。
我有一个显示页面上所有事件的功能。由于有一个名为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_error
更改为mysqli_error
(我的错,抱歉),它告诉我{ {1}}。
答案 0 :(得分:-1)
尝试
$query = "SELECT * FROM cities";
你写这个的地方
$query = "SELECT * FROM cities;";
请参阅双引号内的;
??