Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток! У меня следущая проблема, в браузере появляется следущее: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\WebServer\Apache2\htdocs\бла-бла-бла\бла\бла\municipal.php on line 15!
В чем проблема? в MySQL или в самом коде php? Спасибо заранее за помощь!
Неактивен
Проблема в запросе, который Вы перед этим посылаете MySQL-серверу из php-скрипта.
Попробуйте выполнить его выполнить в консоли mysql.
Неактивен
Через консоль все получаеться, но надо чтобы он через пхп это все делал! С этим вопросом уже не к вам?
Неактивен
в скрипте напишите
$sql = " Ваш запрос";
echo $sql; // чтобы его увидеть
$result = mysql_query($sql) or die(mysql_error()); // чтобы увидеть какая ошибка
Неактивен
У меня написано вот это:
14 $query = "SELECT id FROM iced_realty WHERE realty_type='municipal'";
15 $m = mysql_fetch_array(mysql_query($query));
16 $m_id = $m['id'];
17 $realtylock = new realtylock($m_id);
Мне надо эти строчки заменить на:
$sql = "SELECT id FROM iced_realty WHERE realty_type='municipal'";
echo $sql;
$result = mysql_query($sql) or die(mysql_error());
простите за нубские вопросы ))) я не особо в этом понимаю, но все же понимаю!
И такие ошибки выскакивают не только в этом файле, может это проблема не в запросе?
Неактивен
Да, а после как у Вас и было
$m = mysql_fetch_array($result);
$m_id = $m['id'];
$realtylock = new realtylock($m_id);
код echo $sql Вы потогм закомментируете, чтобы не мешал пользователю, а обработка ошибок необходима везде (mysql_error()). Если ее нет, то Вы не будете знать причину ошибки. У Вас ошибка выдается на mysql_fetch_array, а на самом деле она возникла у mysql_query(), но Вы ее не обработали (не показали).
Неактивен
с этим разобрался, была моя не внимательность, бд не та была указана ))) но вот выскачила другая ошибка
Это наверно не повашей части, но все же:
Fatal error: Call to a member function unlock() on a non-object in C:\WebServer\Apache2\htdocs\бла-бла\бла\бла\municipal.php on line 39
содержание строки
$realtylock->unlock();
Если не по вашей части, то не судите что не тут отписал Спасибо
Неактивен
У Вас не создался объект $realtylock.
Но это действительно не к нам
Неактивен
Понятно! тогда извените спс за помощь...
Неактивен
У меня возник еще один вопрос какой код через консоль импортирует базу данных с расширением sql
Неактивен
source filename.sql
Неактивен
у меня возникла еще одна проблема Скорей всего в установке...
сделал тестовый файл, написал там:
<?
if(!mysql_connect("localhost","root","")) {
echo "Работает!";
}
else {
echo "Error!";
}
?>
он выводит ошибку, и все же работает, выводя то самое слово
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\WebServer\Apache2\htdocs\test.php on line 2
Работает!
Объясните кто может, в чем проблема. подозрения на файл libmysql.dll (собственноручно вставлял его)
Неактивен
Проблема в том, что у root пароль в новом формате, а PHP собран со старой
библиотекой, которая не умеет с такими паролями работать.
Файл libmysql.dll надо взять из новой версии сервера
Неактивен
я прост не понимаю от куда его брать сначала стоял пхп5 поставил пхп4, сам гдето отрыл php_mysql.dll встывил, пхп работает, libmysql.dll вставил из пхп5, не работает, что впринципе не удивительно так как и где мне вытащить этот файл? и для какой версии он мне нужен?
Неактивен
В каталоге с MySQL должен лежать правильный файл Там, где сервер MySQL.
Если сервер на UNIX-системе, можете скачать Connector/PHP (http://dev.mysql.com/downloads/connector/php/),
все-таки, поменьше в размере. Там должны быть все необходимые библиотеки.
Неактивен
этот файл надо просто в систем32 скопировать? или надо чтонибудь прописать?
Неактивен
скопировал этот файл, без изменений
Неактивен
Скажите, а Вы уверены, что нужен четвертый пхп? Попробуйте поставить так,
как в статье, но с четвертым пхп?
http://sqlinfo.ru/articles/info/6.html
P.S. Если Вас смущает сочетание ошибки и слова "работает", то уберите "!" перед
mysql_connect, тогда слово "работает" пропадет
Неактивен
я так и пробовал в принципе но вот как то не получилось
Неактивен
Ну, значит, откуда-то еще берет библиотечку - можете поискать по диску...
Вообще, можете сделать просто
SET PASSWORD FOR root@localhost=OLD_PASSWORD('password')
и не переживать по поводу пароля... но это как-то не стильно что ли
Неактивен
проблема то еще в чем... у меня 4 базы для каждой из них отдельный пользователь со своим паролем... в к ним тож не коннектиться. или это тоже зависит от root пользователя?
Неактивен
и я не понял, где это прописывать? весь мозг уже сломал, а толку нет
Неактивен
что-то такое сдела, что этот скрипт выдает только Error! я на верном пути?
Неактивен
Только Error - это значит, что все заработало Ведь у Вас логика инвертированная -
если ошибка, то пишет "Работает", если все хорошо - пишет "Error"
(вспомните, я уже писал про "!" перед mysql_connect)
Неактивен
всеравно не понял если щас пишет эррор, значит это не особо гуд?
Неактивен