![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Итак... Имеется хранимая процедура:
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, ему бы стали
жаловаться ![]()
Неактивен