2017-11-04 8 views
0

foreachループでデータベーステーブルをループしようとしましたが、関数をvar_dumpすると空の配列が返されます。データベーステーブルをループするときにForeachが空に戻ります

function getComment() { 
    $db = connectDB(); 
    $sql = "SELECT `naam`, `title` FROM `comments` WHERE `naam`=:naam AND `title`=:title"; 
    $stmt = $db->prepare($sql); 
    $stmt->bindParam(':naam', $naam); 
    $stmt->bindParam(':title', $title); 
    $stmt->execute(); 
    return $stmt->fetchAll(); 
} 

foreach (getComment() as $value) { 
    echo $value['naam']; 
    echo $value['title']; 
} 
+0

関数は '$ naam'と私はあなたが既に知っている2つの列をフェッチするポイントを理解していない' $ title' –

+1

について__nothing__を知っているのでそれはちょうどカットダウンの例です。 – iainn

答えて

1

変数$naam$title関数スコープで未定義されています。ここでは、コードです。私はあなたが引数としてpass'emするとします。

function getComment($naam, $title) { 
    $db = connectDB(); 
    $sql = "SELECT `naam`, `title` FROM `comments` WHERE `naam`=:naam AND `title`=:title"; 
    $stmt = $db->prepare($sql); 
    $stmt->bindParam(':naam', $naam); 
    $stmt->bindParam(':title', $title); 
    $stmt->execute(); 
    return $stmt->fetchAll(); 
} 

$naam = 'some naam'; 
$title = 'some title'; 
foreach (getComment($naam, $title) as $value) { 
    echo $value['naam']; 
    echo $value['title']; 
} 
+0

いいえ、$ naamと$ titleはデータベースのタブです。 –

+0

あなたのコードで 'table'、' field'と何をしているのかを理解してください。 –

関連する問題