PHP и MySQL
От: Jurii Россия  
Дата: 02.08.10 17:52
Оценка:
Передаю в скрипт ссылку на файл и дескриптор на базу данных:
$href = "./req.php?filelink={$tablerows[FILELINK]}&db=$db";

при попытке выполнить:
mysql_query($queryGet, $db);

выдает:
Warning: mysql_query() expects parameter 2 to be resource, string given in Z:\home\documents.ru\www\Test\req.php on line 6

Что происходит с дескриптором и как это исправить?
Подпись
(добавляется к каждому сообщению, разрешены коды форматирования)
Re: PHP и MySQL
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.08.10 18:00
Оценка:
Здравствуйте, Jurii, Вы писали:

J>Что происходит с дескриптором


Дескриптор — это какой-то объект, а не просто строка. Его нельзя просто так передать в виде строки через адресную строку.

J>и как это исправить?


Это зависит от того что у вас там и как происходит. Возможно вообще не надо дескриптор передавать, а просто заново открыть соединение req.php (если соединение с БД там точно нужно для работы).
Re[2]: PHP и MySQL
От: Jurii Россия  
Дата: 02.08.10 18:57
Оценка:
Здравствуйте, MozgC, Вы писали:

J>>Что происходит с дескриптором


MC>Дескриптор — это какой-то объект, а не просто строка. Его нельзя просто так передать в виде строки через адресную строку.


Вы все правильно поняли, но я не уверен, что этого нельзя сделать!
Я читал на каком-то сайте, описывающем передачу дескриптора только в Perl. Там писалось, что дескриптор это очень большое число и передавать его нужно именно как строку.
Вот как теперь эту строку использовать я не могу понять.

Если ничего не придумаю, придется заново открывать соединение

Спасибо за ответ!
Подпись
(добавляется к каждому сообщению, разрешены коды форматирования)
Re[3]: PHP и MySQL
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.08.10 19:53
Оценка: 1 (1) +1
Здравствуйте, Jurii, Вы писали:

J>Вы все правильно поняли, но я не уверен, что этого нельзя сделать!

J>Я читал на каком-то сайте, описывающем передачу дескриптора только в Perl. Там писалось, что дескриптор это очень большое число и передавать его нужно именно как строку.
J>Вот как теперь эту строку использовать я не могу понять.

Я думаю что в PHP для mysql-соединения используется какой-то объект-обертка, а не просто хенлд соединения. И наверное PHP проверяет, что в метод передан этот объект, а не просто число (хенлд соединения) или строка. Так что я очень сомневаюсь что удастся сделать так как вы хотите.

J>Если ничего не придумаю, придется заново открывать соединение


Не заморачивайтесь, а открывайте соединение заново. Точнее используйте mysql_pconnect чтобы переиспользовать одно и то же соединение много раз.
А вообще, если вы пишете что-то большее? чем домашняя страничка Васи Пупкина, то используйте какую-то высокоуровневую обертку для более удобной работы с mysql. Я использую ADOdb, но правда я не сравнивал с другими аналогами и возможно есть более хорошие варианты.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.