Да ... этот вопрос был опубликован много раз. Вот пример: Fatal error: Call to a member function query()on a non-object. Но я просмотрел многие из этих дублирующих сообщений и не могу найти решениеPHP MySQLi Фатальный вызов функции-члена fetch_array() для не-объекта
Я вытащил этот код (рабочий) с этого сайта (nine-to-five)
Но я пересмотрел свой код (который отличается от SO поста), чтобы включить код, упомянутый в ответах на пост и я все еще получаю ошибку:
// Credentials
$dbhost = "localhost";
$dbname = "qmsdb";
$dbuser = "root";
$dbpass = "";
// Connection
global $tutorial_db;
$tutorial_db = new mysqli();
$tutorial_db->connect($dbhost, $dbuser, $dbpass, $dbname);
$tutorial_db->set_charset("utf8");
// Check Connection
if ($tutorial_db->connect_errno) {
printf("Connect failed: %s\n", $tutorial_db->connect_error);
exit();
}
// Get Search
$search_string = preg_replace("/[^A-Za-z0-9]/", " ", $_POST['query']);
$search_string = $tutorial_db->real_escape_string($search_string);
// Check Length More Than One Character
if (strlen($search_string) >= 1 && $search_string !== ' ') {
// Build Query
$query = 'SELECT * FROM compressors WHERE MUNPN LIKE "%'.$search_string.'%" OR name LIKE "%'.$search_string.'%"';
// Do Search
$result = mysql_query($query);
while($results = $result->fetch_array()) {
$result_array[] = $results;
}
.... more code that doesn't apply....
}
ошибка: «Fatal вызов функции-члена fetch_array() на не объект» и точек линии до:
while($results=$results->fetch_array()) {
Я очень новичок в Php/MySQL - так что любая помощь в этом будет принята с благодарностью.
Спасибо!
.
Вы смешиваете mysql и mysqli_ –
Вы используете MySQLi для подключения ('new mysqli();'), а затем 'mysql_query' для выполнения запроса. Это не сработает. –
^- «... * значение, * change' $ result = mysql_query ($ query); 'to' $ result = mysqli_query ($ query); ' –