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();
}
定义“不工作”。它应该做什么?具体失败的原因是什么?底部函数返回空数组,而上部函数不返回空数组。我不想返回空数组。(我不能用英语告诉自己:@)谢谢这是工作!