Я работаю с xampp. Я выполнил подключение MySQL:
$connection = mysql_connect($host , $user , $passw); mysql_select_db($db, $connection);
Я получил вывод с командой echo (путем проверки возвращаемых значений boolean), что установлено соединение и найдена база данных $ db.
Но самый простой запрос:
$query = mysql_query("SELECT * FROM 'users'");
возвращает 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);