| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > не выполняется вставка в БД |
| Автор: nextzi0 10.10.2008, 10:58 | ||
А у меня наоборот!
Ругается на строку while ($row = mysql_fetch_array($res)){...} пишет: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource =( Ведь все верно написано мною Тоесть SELECT Не хочет почему-то работать |
| Автор: skyboy 10.10.2008, 12:12 |
т.е. вызвать mysql_error и посмотреть, что за ошибка в запросе - не судьба? а скопировать запрос в тот же PHPMyAdmin и опять же посмотреть на текст ошибки запрещает религия? |
| Автор: nextzi0 10.10.2008, 13:31 | ||||||
вставля тот же самый запрос в пма - все ок, все работает. ошибку нашел, в чем закономерность - не пойму: раньше в скрипте было так:
теперь сделал так
непонятно... |
| Автор: bars80080 10.10.2008, 14:23 |
| наверно, всё же разница есть. сдаётся мне он и не выполнял подключения к БД, а выдавал ошибку, мол пароль, логин или ещё чего не правильно. однако, ошибки видать были отключены error_reporting(E_ALL); вначале скрипта мог бы объяснить в чём дело да и просто проверить, что в $host,$user,$pw надо было бы |
| Автор: nextzi0 10.10.2008, 14:47 |
| хм странно, но показ ошибок у меня включен на всё... может быть это как то связано с видимостью переменных и с функцией include, потому что все переменные у меня заданы и не пусты. |
| Автор: bars80080 10.10.2008, 14:49 |
| ты просто их проверь, сразу после вставки в функцию mysql_connect и mysql_select_db var_dump($login); |
| Автор: nextzi0 10.10.2008, 15:01 |
| Заменил include на require, все работает... |
| Автор: nextzi0 10.10.2008, 21:04 |
| skyboy, посмотрел по mysql_error ошибку, немного стало ясно: идентификатор результата запроса не возвращается, т.к. у меня в базу записывается строка с названием фильма - X's & O's.avi. Я думаю это из за апострофов, потому что все названия фильмов до этого фильма (в которых имена обычные, без спецсимволов) в базу записываются нормально. запрос на запись такой: (skiped) mysql_real_escape_string($filename); $rs = mysql_query("SELECT * from `files` WHERE `name` = '$filename'",$link); (skiped) как только $filename становится равным X's & O's.avi, запрос валится: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's & O's.avi'' at line 1 Вроде и прослешил, что еще не так? |
| Автор: bars80080 10.10.2008, 21:14 | ||
случаем не опечатка?
|
| Автор: nextzi0 10.10.2008, 21:30 |
| Точно! Спасибо! |