| |||||
|
У меня не работает запрос к базе, что делать?
Симптомы:
<?Во-первых, надо внимательно посмотреть на сам запрос. Для этого надо его вывести. Ищем то место, где делается запрос (обычно это вызов функции mysql_query()) и копируем то, что у неё в первом параметре.
Например:
<?
Значит нам нужна строка 'select * from mytable where name like \.$username.'\. Проще всего, когда скрипт собирает запрос в какую-либо переменную:
<?
Тогда нам просто придется вывести эту переменную.
Здесь следует немного отойти от темы и коснуться темы дебаггинга в PHP вообще. Очень удобно иметь для этого специальную функцию, с помощью которой можно контролировать значения переменных.
<?
Только будьте внимательны – если у вас в переменной будет HTML, то проконтролируйте исходный код страницы в браузере. Теперь смотрим на запрос и понимаем, что мы на самом деле не совсем то имели ввиду, исправляем очевидные ошибки, и все начинает работать. Нет? Ну ладно, будем дальше искать. Теперь мы посмотрим, чем именно My SQL не угодил этот запрос. Все просто – нужно написать одну строчку после запроса:
<?
Тут вы увидите много интересного. Например: Table 'data_base.my_teble' doesn't exist. Из чего мы понимаем, что мы допустили очепятку в названии таблицы (ну или забыли эту самую таблицу создать). Вот и все. Просто внимательнее следите за синтаксисом. Если уж совсем ничего не получается – пишите в форум, вам обязательно помогут. Только не забывайте в вопросе писать сам запрос и ошибку, которую выдал сервер.
Комментариев нет.
[Показать комментарии/форму]
| |||||