2014-04-22 109 views
0

我開始更新我的代碼從MySQL到Pdo,我不是很聰明,容易發瘋。現在得到了。我不明白爲什麼這不是工作,並像任何人幫助爲什麼id。 mysql代碼被註釋掉了(它工作,但想要pdo)。 pdo代碼不工作,但我不明白爲什麼。PDO提取結果從ID

有人可以幫我嗎?

$result_bajs = "SELECT * FROM comments WHERE movie_id = :id ORDER BY post_date DESC"; 

$stmt2 = $pdo->prepare($result_bajs); 
$stmt2 = execute(array(
    ':id' => $id 
)); 
$result2 = $stmt2->fetchAll(); 
while($row = $result2){ 
//$result2 = mysql_query($result_bajs, $connection) or die (mysql_error()); 

$ip = $_SERVER['REMOTE_ADDR']; 
//while ($row = mysql_fetch_array($result2)) { 
    $comment = $row['comment']; 
    $author = $row['author']; 
    $post_date = $row['post_date']; 
+0

'$ stmt2 =執行()'你只是改寫你的聲明變量'$ stmt2'與執行'()'一個布爾結果。使用不同的變量! –

+0

由於您已經獲取了所有行,因此將'while()'循環替換爲'foreach()'。'foreach($ result2 as $ row){...}'''''''''''''''' –

+1

和調用執行從它的對象'$ var = execute(...)'調用'execute()'作爲函數,我懷疑是 –

回答

1

您正在覆蓋您的變量。代碼也很不清楚。也許這個代碼將幫助您瞭解和編寫查詢更好:

$SQL = $pdo->prepare("SELECT * FROM comments WHERE movie_id = :id ORDER BY post_date DESC"); 
$SQL->execute(array(':id' => $id)); 
$row = $SQL->fetchAll(); 
+0

我明白我的代碼是令人難以置信的不清楚。主要是因爲我不明白我在做什麼 –