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);
?>
내가 바로 getjobs
기능에 return $ret;
전에 var_dump
을 사용, 그것은 나를 올바른 값을 보여줍니다하지만 var_dump($tempbJobs);
것 NULL을 인쇄하십시오.
P.S : 코드를 단순화했습니다. 로컬 호스트에서는 작동하지만 프로덕션 서버에서는 작동하지 않습니다.
PS : 나는 return $ret;
return 'DUMPED';
에 반환 값이 될 것이다 변경하는 경우 string(6) "DUMPED"
var_dump($ret);
출력 : 당신은 단지 기능 mysql_fetch_all ($ 결과) $ 경우에서 $ 모든 반환 사실을 바탕으로
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 네, 있습니다. 내가 말한대로 :'getjobs' 함수에서'return $ ret;'의 바로 전에'var_dump'를 사용하면 정확한 값을 보여줍니다. – undone
@FDL 감사하지만 그 사실을 알고 있습니다. – undone