PHP ADODB с MySQL: объект ADODB не работает внутри функций - PullRequest
0 голосов
/ 23 сентября 2011

Имеется файл index.php, который содержит:

$db = NewADOConnection($db_dsn);
if (!$db) die("Connection failed");   

$arrpage = $db->GetArray("SELECT * FROM somewhere");

include("functions.inc.php");

details("SELECT * FROM somewherelse");

На странице $ arrpage содержится информация об ожидаемой информации

Затем в файле functions.inc.php:

function details($query) {
  global $db; //should check to make sure it exists

  $options_array = $db->GetArray($query);

$ options_array пуст, хотя он должен содержать данные.var_dump ($ db) показывает, что объект БД находится там.var_dump ($ options_array) не заполнен.

  • PHP 5.3.4
  • MySQL 14.14
  • ADODB 5.14

Ответы [ 2 ]

0 голосов
/ 29 сентября 2011

Ну, после многих проблем, все, что мне нужно было сделать, это встать, выпить пинту хорошего пива и вернуться к нему в другой раз.

Суть в том, что система использует кеширование, и после тщательной проверки моих журналов ошибок я заметил, что файлы кэша не записывались в папку кэша из-за проблем с правами доступа к папке.

Поэтому я установил права доступа к папке, и теперь, когда файлы кэша могут быть сохранены, в запросе к БД есть что-то, к чему можно обратиться.

Спасибо за помощь в любом случае, я ценю это.

0 голосов
/ 23 сентября 2011

попробуй:

$options_array = $db->GetAll($query);
...