我最近有代码更改数据库连接到PDO。 实际上我做得对,成功。但我想在pdo连接中进行一些修改。 这是旧代码:
$sql = "select * from pengguna where marketing = '$nim_temp'";
$result = mysql_query($sql);
if($result)
{
while ($row = mysql_fetch_array($result))
{
$marketing= $row['marketing'];
$password = $row['password'];
$akses= $row['akses'];
}
}
和我使用PDO的新代码:
$sql = "select * from pengguna where marketing = :nim_temp";
$stmt=$conn->prepare($sql);
$stmt->execute(array(':nim_temp'=>$nim_temp));
$result=$stmt->fetch( PDO::FETCH_ASSOC );
if($result)
{
while($row = $result)
{
//echo '<script type="text/javascript">alert("'.$row['marketing'].'");</script>';
$marketing= $row['marketing'];
$password = $row['password'];
$akses= $row['akses'];
}
}
没有$ result会成功,如果结果如下:
//$result=$stmt->fetch( PDO::FETCH_ASSOC );
//if($result){
while($row = $stmt->fetch( PDO::FETCH_ASSOC ))
我想要的是,我仍然需要if($result)
来触发我的其他代码。
答案 0 :(得分:1)
您的查询是否成功现在由execute()
确定,而不是由fetch()
决定。所以你必须这样做:
$result = $stmt->execute(array(':nim_temp'=>$nim_temp));
if($result)
{
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{ ... }
}