2014-04-22 83 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

我明白我的代码是令人难以置信的不清楚。主要是因为我不明白我在做什么 –