Преобразование из результирующего объекта PHP MySQL в ресурс результата (ОО в процедурный) - PullRequest
2 голосов
/ 26 января 2011

Я обрабатывал функции базы данных MySQL в приложении PHP, используя объектно-ориентированный стиль. Но теперь я хочу использовать функцию, которая требует результирующий ресурс в качестве входной переменной, но все, что у меня есть, это объект результата из оператора

          $oresult = $odb->query($sql);

Есть ли способ получения результирующего ресурса из соединения с базой данных объектно-ориентированного стиля ($ dbconn = new mysqli (...))?

Спасибо тебе

Ответы [ 2 ]

0 голосов
/ 26 января 2011

AFAIK, как OO, так и процедурные стили Mysqli даже не распределяют ресурсы результата вообще.Все функции и методы query() и real_query() немедленно (или в конечном итоге приводят) возвращают Mysqli_result объект , если возвращается набор записей.В расширении Mysqli нет функции или свойства для извлечения «ссылки» из основного объекта Mysqli или извлечения ресурса (как такового) из объекта Mysqli_result.Фактически, то, что $link, на которое вы ссылаетесь в примерах процедурного стиля Mysqli, на самом деле является просто Mysqli объектом.

Если какая-либо функция, которую вы используете, вызывает "ресурс результата", они быозначать, что это происходит от функции старого, регулярного расширения Mysql.Невозможно объединить функции и методы Mysql и Mysqli.По сути, да, вам бы пришлось полностью отказаться от Mysql i в этом случае и начать с процедурного Mysql в старом стиле с самого начала.

0 голосов
/ 26 января 2011

Как правило, вы хотите предоставить ресурс для вашего набора результатов (функции-оболочки для инкапсуляции функций базы данных. Т.е., numRows (), disabledRows () и т. Д.), Которые, в свою очередь, могут предоставить вам набор записей для итерации результаты при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...