Php 为什么不';不行?

Php 为什么不';不行?,php,mysql,pdo,Php,Mysql,Pdo,此功能是工作: function son_bolum_liste_cek($limit) { global $db; $query = $db->prepare("SELECT `anime_bolum`.`id`, `anime`.`isim`, `anime_bolum`.`bolum_no`, `image`.`url` as `image`, `gifimage`.`url` as `gifimage` FROM `anime_bolum` JOIN `anime` ON `

此功能是工作:

function son_bolum_liste_cek($limit)
{   
global $db;
$query = $db->prepare("SELECT `anime_bolum`.`id`, `anime`.`isim`, `anime_bolum`.`bolum_no`, `image`.`url` as `image`, `gifimage`.`url` as `gifimage` FROM `anime_bolum` JOIN `anime` ON `anime`.`id` = `anime_bolum`.`anime_id` JOIN `image` ON `anime_bolum`.`image` = `image`.`id` JOIN `image` as `gifimage` ON `gifimage`.`id` = `anime_bolum`.`gifimage` ORDER BY `anime_bolum`.`id` DESC LIMIT :limit;");
$query->bindValue(':limit', $limit, PDO::PARAM_INT);
$select = $query->execute();
return $query->fetchAll();
}
foreach (son_bolum_liste_cek(12) as $anime){blabla};
但这是行不通的:

function db_toplu_veri_oku($query, $execute = array() , $binds = array(),$debug = false)
{
global $db;
$query = $db->prepare($query);
foreach($binds as $bind)
    {
    $query->bindValue($bind[0], $bind[1], $bind[2]);
    }

$select = $query->execute($execute);
if($debug){$query->debugDumpParams();};
return $query->fetchAll();
}

function son_bolum_liste_cek($limit)
{   
$query = "SELECT `anime_bolum`.`id`, `anime`.`isim`, `anime_bolum`.`bolum_no`, `image`.`url` as `image`, `gifimage`.`url` as `gifimage` FROM `anime_bolum` JOIN `anime` ON `anime`.`id` = `anime_bolum`.`anime_id` JOIN `image` ON `anime_bolum`.`image` = `image`.`id` JOIN `image` as `gifimage` ON `gifimage`.`id` = `anime_bolum`.`gifimage` ORDER BY `anime_bolum`.`id` DESC LIMIT :limit;";
$binds = array(array(':limit',$limit,PDO::PARAM_INT));
return db_toplu_veri_oku($query,array(),$binds);
}
foreach (son_bolum_liste_cek(12) as $anime){blabla};

两个函数做相同的工作,但底部函数不工作为什么?我哪里做错了?

没什么变化。执行
中的问题。您正在传递此中的空白数组。所以您必须首先检查数组是否包含值

function db_toplu_veri_oku($query, $execute = array() , $binds = array(),$debug = false)
{
global $db;
$query = $db->prepare($query);
foreach($binds as $bind)
    {
    $query->bindValue($bind[0], $bind[1], $bind[2]);
    }

if(count($execute)) //<-----------Add this condition
    $select = $query->execute($execute);
else
    $select = $query->execute();
if($debug){$query->debugDumpParams();};
return $query->fetchAll();
}
函数db\u toplu\u veri\u oku($query,$execute=array(),$binds=array(),$debug=false) { 全球$db; $query=$db->prepare($query); foreach($binds为$bind) { $query->bindValue($bind[0],$bind[1],$bind[2]); } if(count($execute))//execute($execute); 其他的 $select=$query->execute(); 如果($debug){$query->debugDumpParams();}; 返回$query->fetchAll(); }
定义“不工作”。它应该做什么?具体失败的原因是什么?底部函数返回空数组,而上部函数不返回空数组。我不想返回空数组。(我不能用英语告诉自己:@)谢谢这是工作!