2017-07-09 9 views
-6

、この機能は作動している:これはなぜ機能しないのですか?

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}; 

二つの機能がなぜ動かないのですか?どこが間違っていますか?

+0

「動作しない」を定義してください。それは何をすべきか、具体的にどのように失敗するのでしょうか? – David

+0

ボトム関数は空の配列を返しますが、上の方は空の配列を返しません。私は空の配列を返さないでください。(私は英語で自分自身を言うことができません:@@) – ibrahim

答えて

0

リトル変更。 executeの問題。あなたはこれに空の配列を渡しています。したがって、配列が値を含むかどうか最初にチェックする必要があります。

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(); 
} 
+0

これは仕事です! – ibrahim

関連する問題