У меня есть класс, который отлично работает с php 5.3 (XAMPP 1.7.3, Windows 7), но не работает на моем сервере (php 5.2.17 - Безопасный режим На) :php-функция не возвращает значение
<?php
class MYSQL_DB {
var $connection;
function MYSQL_DB() {
$this->connection = mysql_connect(S, U, P) or die('Can\'t connect to MySQL server.');
mysql_select_db(DB, $this->connection) or die(mysql_error());
}
function getJobs($wid) {
$q = "SELECT * FROM " . TB_PREFIX . "joblist where owner = {$wid} order by ID ASC";
$result = mysql_query($q, $this->connection);
$ret = $this->mysql_fetch_all($result);
mysql_free_result($result);
return $ret;
}
function mysql_fetch_all($result) {
$all = array();
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
$all[] = $row;
}
return $all;
}
}
}
$db=new MYSQL_DB();
?>
И в другом файле, я использовал getjobs
функцию:
<?php
$tempbJobs=$db->getJobs(1368);
var_dump($tempbJobs);
?>
, когда я использую var_dump
перед return $ret;
в getjobs
функции, она показывает мне правильные значения, но var_dump($tempbJobs);
будет печать NULL.
P.S: Я упростил код, он работает на моем локальном хосте, но не на рабочем сервере.
PS: Если я изменяю return $ret;
к return 'DUMPED';
, возвращаемое значение будет string(6) "DUMPED"
var_dump($ret);
выход:
array(2) {
[0]=>
array(5) {
["id"]=>
string(5) "10755"
["owner"]=>
string(5) "23626"
["field"]=>
string(1) "6"
["type"]=>
string(1) "2"
["expi"]=>
string(10) "1372144648"
}
[1]=>
array(5) {
["id"]=>
string(5) "10756"
["owner"]=>
string(5) "23626"
["field"]=>
string(1) "5"
["type"]=>
string(1) "2"
["expi"]=>
string(10) "1372144654"
}
}
У вашего производственного сервера есть данные? – DevZer0
@ DevZer0 Да, у него есть. Как я уже сказал: если я использую 'var_dump' прямо перед' return $ ret; 'в' getjobs', он показывает мне правильные значения. – undone
@FDL спасибо, но я это знаю. – undone