SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.01.2008 04:39:59

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Помогите разобраться

Доброго времени суток! У меня следущая проблема, в браузере появляется следущее: 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? Спасибо заранее за помощь!

Неактивен

 

#2 10.01.2008 10:45:50

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: Помогите разобраться

Проблема в запросе, который Вы перед этим посылаете MySQL-серверу из php-скрипта.
Попробуйте выполнить его выполнить в консоли mysql.

Неактивен

 

#3 10.01.2008 14:18:57

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

Через консоль все получаеться, но надо чтобы он через пхп это все делал! С этим вопросом уже не к вам? smile

Неактивен

 

#4 10.01.2008 14:36:44

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Помогите разобраться

в скрипте напишите
$sql = " Ваш запрос";
echo $sql; // чтобы его увидеть
$result = mysql_query($sql) or die(mysql_error()); // чтобы увидеть какая ошибка

Неактивен

 

#5 10.01.2008 17:38:55

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

У меня написано вот это:
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());

простите за нубские вопросы smile))) я не особо в этом понимаю, но все же понимаю!
И такие ошибки выскакивают не только в этом файле, может это проблема не в запросе?

Неактивен

 

#6 10.01.2008 17:41:46

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Помогите разобраться

Да, а после как у Вас и было
$m = mysql_fetch_array($result);
$m_id = $m['id'];
$realtylock = new realtylock($m_id);

код echo $sql Вы потогм закомментируете, чтобы не мешал пользователю, а обработка ошибок необходима везде (mysql_error()). Если ее нет, то Вы не будете знать причину ошибки. У Вас ошибка выдается на mysql_fetch_array,  а на самом деле она возникла у mysql_query(), но Вы ее не обработали (не показали).

Неактивен

 

#7 10.01.2008 17:52:08

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

с этим разобрался, была моя не внимательность, бд не та была указана smile))) но вот выскачила другая ошибка sad
Это наверно не повашей части, но все же:
Fatal error: Call to a member function unlock() on a non-object in C:\WebServer\Apache2\htdocs\бла-бла\бла\бла\municipal.php on line 39

содержание строки
$realtylock->unlock();
Если не по вашей части, то не судите что не тут отписал smile Спасибо

Неактивен

 

#8 10.01.2008 18:01:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

У Вас не создался объект $realtylock.
Но это действительно не к нам smile

Неактивен

 

#9 10.01.2008 18:28:29

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

Понятно! тогда извените smile спс за помощь... big_smile

Неактивен

 

#10 11.01.2008 16:16:43

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

У меня возник еще один вопрос smile какой код через консоль импортирует базу данных с расширением sql smile

Неактивен

 

#11 11.01.2008 16:40:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

source filename.sql

Неактивен

 

#12 14.01.2008 16:24:54

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

у меня возникла еще одна проблема smile Скорей всего в установке...

сделал тестовый файл, написал там:
<? 
if(!mysql_connect("localhost","root","")) {
echo "Работает!";
}
else {
echo "Error!";
}
?> 

он выводит ошибку, и все же работает, выводя то самое слово smile

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 (собственноручно вставлял его)

Неактивен

 

#13 14.01.2008 17:43:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

Проблема в том, что у root пароль в новом формате, а PHP собран со старой
библиотекой, которая не умеет с такими паролями работать.

Файл libmysql.dll надо взять из новой версии сервера smile

Неактивен

 

#14 14.01.2008 17:50:32

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

я прост не понимаю от куда его брать smile сначала стоял пхп5 поставил пхп4, сам гдето отрыл php_mysql.dll встывил, пхп работает, libmysql.dll вставил из пхп5, не работает, что впринципе не удивительно smile так как и где мне вытащить этот файл? и для какой версии он мне нужен?

Неактивен

 

#15 14.01.2008 17:59:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

В каталоге с MySQL должен лежать правильный файл smile Там, где сервер MySQL.

Если сервер на UNIX-системе, можете скачать Connector/PHP (http://dev.mysql.com/downloads/connector/php/),
все-таки, поменьше в размере. Там должны быть все необходимые библиотеки.

Неактивен

 

#16 14.01.2008 18:11:52

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

этот файл надо просто в систем32 скопировать? или надо чтонибудь прописать?

Неактивен

 

#17 14.01.2008 18:21:59

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

скопировал этот файл, без изменений sad

Неактивен

 

#18 14.01.2008 19:38:20

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

Скажите, а Вы уверены, что нужен четвертый пхп? Попробуйте поставить так,
как в статье, но с четвертым пхп?

http://sqlinfo.ru/articles/info/6.html

P.S. Если Вас смущает сочетание ошибки и слова "работает", то уберите "!" перед
mysql_connect, тогда слово "работает" пропадет smile

Неактивен

 

#19 14.01.2008 19:48:30

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

я так и пробовал в принципе smile но вот как то не получилось

Неактивен

 

#20 14.01.2008 20:03:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

Ну, значит, откуда-то еще берет библиотечку - можете поискать по диску...
Вообще, можете сделать просто

SET PASSWORD FOR root@localhost=OLD_PASSWORD('password')

и не переживать по поводу пароля... но это как-то не стильно что ли smile

Неактивен

 

#21 14.01.2008 20:20:46

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

проблема то еще в чем... у меня 4 базы для каждой из них отдельный пользователь со своим паролем... в к ним тож не коннектиться. или это тоже зависит от root пользователя?

Неактивен

 

#22 14.01.2008 20:29:21

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

и я не понял, где это прописывать? весь мозг уже сломал, а толку нет sad

Неактивен

 

#23 14.01.2008 20:47:27

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

что-то такое сдела, что этот скрипт выдает только Error! я на верном пути? smile

Неактивен

 

#24 14.01.2008 20:58:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите разобраться

Только Error - это значит, что все заработало smile Ведь у Вас логика инвертированная -
если ошибка, то пишет "Работает", если все хорошо - пишет "Error" smile
(вспомните, я уже писал про "!" перед mysql_connect)

Неактивен

 

#25 14.01.2008 21:02:51

Gipsum
Участник
Зарегистрирован: 10.01.2008
Сообщений: 18

Re: Помогите разобраться

всеравно не понял smile если щас пишет эррор, значит это не особо гуд? smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson