Php PDO在另一个函数中使用时不返回结果
当我刚刚执行Php PDO在另一个函数中使用时不返回结果,php,sql,pdo,Php,Sql,Pdo,当我刚刚执行$backend->fetchAdminInfo()时,PDO工作正常但是当我执行$backend->fetchAdminInfo()时在一个单独的函数中,不会返回任何结果。出于某种原因,它返回null,此时它应该返回名字,姓,和化身 这是密码 public $adminCount; final public function fetchAdminInfo() { global $zip, $db, $tpl; $query = $db->prepare('
$backend->fetchAdminInfo()时,PDO工作正常代码>但是当我执行$backend->fetchAdminInfo()时代码>在一个单独的函数中,不会返回任何结果。出于某种原因,它返回null,此时它应该返回名字
,姓
,和化身
这是密码
public $adminCount;
final public function fetchAdminInfo() {
global $zip, $db, $tpl;
$query = $db->prepare('SELECT first_name, last_name, avatar FROM zip__admins ORDER BY first_name ASC');
$query->execute();
$result = $query->fetchAll();
$id = 1;
foreach($result as $row) {
$tpl->define('admin: first_name-' . $id, $row['first_name']);
$tpl->define('admin: last_name-' . $id, $row['last_name']);
$tpl->define('admin: avatar-' . $id, $row['avatar']);
$id++;
}
$this->adminCount = $id;
}
final public function addSnippet($z) {
global $tpl;
if(isset($z) && !empty($z)) {
switch($z) {
case 'login: show-admins':
$this->fetchAdminInfo();
$admins = ' ';
for($id = 1; $this->adminCount > $id; $id++) {
$admins .= '<li data-name="{admin: first_name-'. $id .'} {admin: last_name-'. $id .'}" onclick="submitValue('. $id .')">';
$admins .= '<div class="av-overlay"></div><img src="{site: backend}/img/avatars/{admin: avatar-'. $id .'}.jpg" class="av">';
$admins .= '<span class="av-tooltip">{admin: first_name-'. $id .'} {admin: last_name-'. $id .'}</span>';
$admins .= '</li>';
}
$tpl->Define('snippet: show-admins', $admins);
$tpl->display();
break;
}
} else {
die("HELLO!");
}
}
public$adminCount;
最终公共函数fetchAdminInfo(){
全球$zip、$db、$tpl;
$query=$db->prepare('SELECT first\u name,last\u name,avatar FROM zip\u admins ORDER BY first\u name ASC');
$query->execute();
$result=$query->fetchAll();
$id=1;
foreach($结果为$行){
$tpl->define('admin:first\u name-'。$id,$row['first\u name']);
$tpl->define('admin:last_name-'。$id,$row['last_name']);
$tpl->define('admin:avatar-'.$id,$row['avatar']);
$id++;
}
$this->adminCount=$id;
}
最终公共函数addSnippet($z){
全球美元tpl;
if(设置($z)&&!空($z)){
交换机($z){
案例“登录:显示管理员”:
$this->fetchAdminInfo();
$admins='';
对于($id=1;$this->adminCount>$id;$id++){
$admins.=';
$admins.='';
$admins.='{admin:first_name-'.$id.}{admin:last_name-'.$id.}';
$admins.=' ';
}
$tpl->Define('snippet:show admins',$admins);
$tpl->display();
打破
}
}否则{
死(“你好!”);
}
}
是否完成了任何基本调试?您的DB代码只是假设成功。您是否验证了prepare/exec/fetch调用是否确实成功?您使用的是全局$db变量。您确定没有在其他地方修改它以指向此函数背后的其他db吗?该函数在自身使用时工作正常。一旦我把它放到另一个函数中,它就会返回null。我不知道为什么;我已经想了两个小时了。我觉得这个小片段对我们没什么帮助。有可能把剩下的贴出来吗?我还在做这个,但我需要去一段时间;我不知道我是怎么忘记那个打字错误的。