Как я могу отлаживать, почему простой запрос MySQL возвращает false?

Я работаю с xampp. Я выполнил подключение MySQL:

$connection = mysql_connect($host , $user , $passw); mysql_select_db($db, $connection); 

Я получил вывод с командой echo (путем проверки возвращаемых значений boolean), что установлено соединение и найдена база данных $ db.

Но самый простой запрос:

 $query = mysql_query("SELECT * FROM 'users'"); 

возвращает false. Как я могу отлаживать почему? Спасибо.

Related of "Как я могу отлаживать, почему простой запрос MySQL возвращает false?"

Чтобы получить сообщение об ошибке из mysql, вы должны использовать функцию mysql_error ().
Таким образом, всегда запускайте все свои запросы таким образом, по крайней мере, до тех пор, пока вы не разработаете более продвинутый обработчик запросов:

 $query = "SELECT * FROM 'users'"; $result = mysql_query($query) or trigger_error(mysql_error()." ".$query); 

проблема с вашим текущим запросом – это 'users' часть. Одиночные кавычки должны использоваться для разграничения строк, а для идентификаторов вы должны использовать обратные ссылки:

 SELECT * FROM `users` 

может возникнуть проблема с подключением.
добавьте эти строки вверху своего кода, чтобы убедиться, что вы видите каждую ошибку

 ini_set('display_errors',1); error_reporting(E_ALL); 

Используйте функцию mysql_error ():

 $query = mysql_query("SELECT * FROM 'users'") or die(mysql_error()); 

EDIT: Комментарий к Col. Shrapnel: вы никогда не должны использовать die () вне тестовой среды. В общем, это плохая практика при написании кода, который даже предназначен для производства.

Вот еще информация: http://www.phpfreaks.com/blog/or-die-must-die

Основываясь на вашем здравом смысле, это объектно-ориентированный стиль:

 $query = "SELECT * FROM 'users'"; $result = $mysqli -> query($query) or trigger_error($mysqli -> error." ".$query);