Задавайте вопросы, мы ответим
Вы не зашли.
Итак... Имеется хранимая процедура:
CREATE DEFINER=`root`@`%` PROCEDURE `uinfo`(IN uid_get INT) BEGIN SELECT DISTINCT intranet_users.id AS uid, intranet_users.group_id AS gid, intranet_groups.title AS gname, intranet_groups.description AS gdesc, intranet_employees.fio AS fio, intranet_employees_posts.title AS pstttl, intranet_department.title AS depttl, intranet_department.head_id AS dept_hid, intranet_department.id AS dept_id, intranet_department.description AS depdsc, intranet_employees.photo as picture FROM intranet_users LEFT JOIN intranet_groups ON (intranet_groups.id=intranet_users.group_id) LEFT JOIN intranet_employees ON (intranet_employees.usr_id=intranet_users.id) LEFT JOIN intranet_employees_posts ON (intranet_employees.usr_id=intranet_users.id AND intranet_employees_posts.id=intranet_employees.employees_post_id) LEFT JOIN intranet_department ON (intranet_employees.usr_id=intranet_users.id AND intranet_department.id=intranet_employees.department_id) WHERE intranet_users.id=uid_get; END;
имеется код ПХП:
<? $conn = mysql_connect('localhost','root','12345',false,131072); $conn2 = mysql_connect('localhost','root','12345',false,131072); mysql_select_db('intranet',$conn2); mysql_select_db('intranet',$conn); mysql_query('set names cp1251',$conn2); mysql_query('set names cp1251',$conn); $rs = mysql_query('CALL uinfo(8)',$conn2); while (($row=mysql_fetch_assoc($rs))!==false) { print_r($row); } mysql_free_result($rs); echo mysql_error(); $rs2 = mysql_query('CALL uinfo(10)',$conn); echo mysql_error(); while (($row=mysql_fetch_assoc($rs2))!==false) { print_r($row); } mysql_free_result($rs2); ?>
Имеется вывод на экран:
Array ( [uid] => 8 [gid] => 3 [gname] => Руководители [gdesc] => Программисты [fio] => Дмитрий Новиков [pstttl] => Ведущий интернет-маркетолог [depttl] => Отдел маркетинга [dept_hid] => 11 [dept_id] => 2 [depdsc] => [picture] => ./photos/novikov.jpg ) Lost connection to MySQL server during query Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\http\intranet\test.php on line 17 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in D:\http\intranet\test.php on line 20
Объясните мне, пожалуйста, что у меня не так???
З.Ы. - при линке к субд выставлял :
mysql_connect('localhost','root','12345',false,131072); mysql_connect('localhost','root','12345',false,199608); mysql_connect('localhost','root','12345',false,65536);
Это тоже не спасает...
В чем может быть трабл???
Облазил полинета чесслово - не нашел ничего....
Заранее очень благодарен.....
Неактивен
Обработка ошибок в скрипте не помешала бы.
Неактивен
rgbeast написал:
Обработка ошибок в скрипте не помешала бы.
mysql_select_db('intranet',$conn2) or die(mysql_error());
mysql_select_db('intranet',$conn) or die(mysql_error());
mysql_query('set names cp1251',$conn2) or die(mysql_error());
mysql_query('set names cp1251',$conn) or die(mysql_error());
и далее
Собстнно сделал так:
<? $conn = mysql_connect('localhost','root','12345',false,131072)or die(mysql_error()); $conn2 = mysql_connect('localhost','root','12345',false,131072)or die(mysql_error()); mysql_select_db('intranet',$conn2)or die(mysql_error()); mysql_select_db('intranet',$conn)or die(mysql_error()); mysql_query('set names cp1251',$conn2)or die(mysql_error()); mysql_query('set names cp1251',$conn)or die(mysql_error()); $rs = mysql_query('CALL uinfo(8)',$conn2)or die(mysql_error()); while (($row=mysql_fetch_assoc($rs))!==false) { print_r($row); } mysql_free_result($rs); $rs2 = mysql_query('CALL uinfo(10)',$conn)or die(mysql_error()); while (($row=mysql_fetch_assoc($rs2))!==false) { print_r($row); } mysql_free_result($rs2); ?>
Однако вывод тот же))) +\- ошибки)):
Array ( [uid] => 8 [gid] => 3 [gname] => Руководители [gdesc] => Программисты [fio] => Дмитрий Новиков [pstttl] => Ведущий интернет-маркетолог [depttl] => Отдел маркетинга [dept_hid] => 11 [dept_id] => 2 [depdsc] => [picture] => ./photos/novikov.jpg ) Lost connection to MySQL server during query
Я не могу понять в чем трабла с соединением??? из-за чего оно пропадает???
Неактивен
Такое впечатление, что перезапускается сервер при выполнении второго запроса.
В логе написано, что он падает?
Ну и заодно хотелось бы посмотреть на вывод такой последовательности из консоли:
CALL uinfo(8);
CALL uinfo(10);
SELECT 1;
Если сервер действительно рестартуется, это его должно свалить.
Неактивен
paulus написал:
Такое впечатление, что перезапускается сервер при выполнении второго запроса.
В логе написано, что он падает?
Ну и заодно хотелось бы посмотреть на вывод такой последовательности из консоли:
CALL uinfo(8);
CALL uinfo(10);
SELECT 1;
Если сервер действительно рестартуется, это его должно свалить.
итак, вот вывод:
mysql> CALL uinfo(8); +-----+-----+--------------+--------------+-----------------+-----------------------------+------------------+----------+---------+--------+----------------------+ | uid | gid | gname | gdesc | fio | pstttl | depttl | dept_hid | dept_id | depdsc | picture | +-----+-----+--------------+--------------+-----------------+-----------------------------+------------------+----------+---------+--------+----------------------+ | 8 | 3 | ¦??????????? | ¦????????±?v | -?????? =?????? | T???•?? ????????-?????????? | +???? ?????????? | 11 | 2 | | ./photos/novikov.jpg | +-----+-----+--------------+--------------+-----------------+-----------------------------+------------------+----------+---------+--------+----------------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> CALL uinfo(10); +-----+-----+-------------+-------------------------------------------+---------------+-------------+------------------+----------+---------+--------+---------------------+ | uid | gid | gname | gdesc | fio | pstttl | depttl | dept_hid | dept_id | depdsc | picture | +-----+-----+-------------+-------------------------------------------+---------------+-------------+------------------+----------+---------+--------+---------------------+ | 10 | 4 | L±????????? | T¦?? ????? ??????? T????? ? ?? ????????v? | ¦????? T????? | ¦????????±? | +???? ?????????? | 2 | 3 | | ./pho tos/lavrov.jpg | +-----+-----+-------------+-------------------------------------------+---------------+-------------+------------------+----------+---------+--------+---------------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.02 sec) mysql> SELECT 1; +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.00 sec)
Вот.......
Собстнно говоря сервер не рестартует.... Такая беда только из-под PHPго mysql_query()... Что делать х.з.
З.Ы. - сорри за абру-кадабру на выходе запроса, просто на серве нет шрифтов кирилицы)))))
Отредактированно wtoporman (22.07.2008 20:34:06)
Неактивен
Кстати... Если запускаю PHP как cgi, то на выходе:
C:\>D:\php\php.exe -f D:\http\intranet\test.php Array ( [uid] => 8 [gid] => 3 [gname] => ╨≤ΩεΓεΣΦ≥σδΦ [gdesc] => ╧≡επ≡α∞∞Φ±≥√ [fio] => ─∞Φ≥≡ΦΘ ═εΓΦΩεΓ [pstttl] => ┬σΣ≤∙ΦΘ Φφ≥σ≡φσ≥-∞α≡Ωσ≥εδεπ [depttl] => ╬≥Σσδ ∞α≡Ωσ≥Φφπα [dept_hid] => 11 [dept_id] => 2 [depdsc] => [picture] => ./photos/novikov.jpg ) Array ( [uid] => 10 [gid] => 4 [gname] => ╚±∩εδφΦ≥σδΦ [gdesc] => ╤■Σα ß≤Σσ≥ Γ⌡εΣΦ≥ⁿ ╥α∞α≡α Φ σσ ∩εΣε∩σ≈φ√σ [fio] => ╩Φ≡Φδδ ╦αΓ≡εΓ [pstttl] => ╧≡επ≡α∞∞Φ±≥ [depttl] => ╬≥Σσδ ≡ατ≡αßε≥ΩΦ [dept_hid] => 2 [dept_id] => 3 [depdsc] => [picture] => ./photos/lavrov.jpg )
Собстнно беда получается совершенно не в ПХМ и Муське....
Если кто сталкивался с такого рода траблой - просьба помочь.......
Хотя.... Думаю можно еще покопать с Апачем.....
Неактивен
Попробуйте подключаться через mysqli
Неактивен
Я правильно понимаю, что ситуация такая: один и тот же скрипт, будучи запущенным через
PHP в случае запуска CGI работает, а в случае запуска через библиотеку апача - нет?
У меня такая проблема была одно время под Windows - там была битая сборка библиотеки.
И лечилось обновлением PHP.
Неактивен
paulus написал:
Я правильно понимаю, что ситуация такая: один и тот же скрипт, будучи запущенным через
PHP в случае запуска CGI работает, а в случае запуска через библиотеку апача - нет?
У меня такая проблема была одно время под Windows - там была битая сборка библиотеки.
И лечилось обновлением PHP.
Спс за совет.... Ща попробую.... Заодно расскажу....
Неактивен
paulus написал:
Я правильно понимаю, что ситуация такая: один и тот же скрипт, будучи запущенным через
PHP в случае запуска CGI работает, а в случае запуска через библиотеку апача - нет?
У меня такая проблема была одно время под Windows - там была битая сборка библиотеки.
И лечилось обновлением PHP.
кстати, есть еще вопрос... если не сложно - напиши, какую либу ты заменял.... заранее спс....
Неактивен
Ха... а вот такое работает)):
<? $link=mysql_connect('localhost','root','12345',false,131072)or die(mysql_error()); mysql_select_db('intranet')or die(mysql_error()); mysql_query('set names cp1251')or die(mysql_error()); $rs = mysql_query('CALL uinfo(8)')or die(mysql_error()); while (($row = mysql_fetch_assoc($rs))!=false){ print_r($row); } mysql_free_result($rs); mysql_close($link); mysql_connect('localhost','root','12345',false,131072)or die(mysql_error()); mysql_select_db('intranet')or die(mysql_error()); mysql_query('set names cp1251')or die(mysql_error()); $rs2 = mysql_query('CALL uinfo(10)'); $row = mysql_fetch_assoc($rs2); print_r($row); mysql_free_result($rs2); ?>
и на выходе:
Array ( [uid] => 8 [gid] => 3 [gname] => Руководители [gdesc] => nnnnnnnnnnn [fio] => nnnnnnnnn [pstttl] => Ведущий интернет-маркетолог [depttl] => Отдел маркетинга [dept_hid] => 11 [dept_id] => 2 [depdsc] => [picture] => ./photos/nnnnn.jpg ) Array ( [uid] => 10 [gid] => 4 [gname] => nnnnnnnnnnnnn [gdesc] => nnnnnnnnnnnnnnnnnnn [fio] => nnnnnn [pstttl] =>nnnnnnnnnnn [depttl] => nnnnnnnnnnnnnn [dept_hid] => 2 [dept_id] => 3 [depdsc] => [picture] => ./photos/lnnnn.jpg )
Теперь я по крайней мере понимаю, что муська кладет сессию.... а вот в чем проблема - пока х.з. пробовал заменить пхп - бестоляк..... не помогает(((
Может я просто что-то не так делаю???
Неактивен
Нее, если работает из CGI-версии и из консоли, значит, дело в APXS.
Что касается версии - это было очень давно, я уже не помню, конечно же, да и версию ту вряд
ли уже найдешь
Кстати, тривиальное правильное решение в данном случае - использовать версию CGI - для
ненагруженной разработческой машинки разница не будет заметна вообще никак, а на боевом
сервере, наверное, не Windows стоит
Неактивен
paulus написал:
Нее, если работает из CGI-версии и из консоли, значит, дело в APXS.
Что касается версии - это было очень давно, я уже не помню, конечно же, да и версию ту вряд
ли уже найдешь
Кстати, тривиальное правильное решение в данном случае - использовать версию CGI - для
ненагруженной разработческой машинки разница не будет заметна вообще никак, а на боевом
сервере, наверное, не Windows стоит
Спасибо огромное за совет....
Я с тобой полностью солидарен.
Меня просто сильно интригует такой вопрос, есть ли вероятность того, что на "боевом сервере" у хостера будет то же самое???
Просто для меня это совсем не маловажно........
Неактивен
К сожалению, пока не попробуешь - не узнаешь. Битые билды PHP я встречал, впрочем, только
под Windows. С другой стороны, если у хостера были бы такие проблемы с PHP, ему бы стали
жаловаться
Неактивен