【问题标题】:change connection db to PDO [duplicate]将连接数据库更改为 PDO [重复]
【发布时间】:2016-11-07 03:06:08
【问题描述】:

我最近有代码更改数据库连接到 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) 来触发我的其他代码。

【问题讨论】:

  • 对不起,我认为这不是重复的。使用 PDO 基本相同,但我 专注于检查 $result

标签: php pdo


【解决方案1】:

您的查询是否成功现在取决于execute(),而不是fetch()。所以你必须这样做:

$result = $stmt->execute(array(':nim_temp'=>$nim_temp));

if($result)
{
    while($row = $stmt->fetch(PDO::FETCH_ASSOC))
    { ... }
}

【讨论】:

  • 这真的很有帮助。多谢。我的所有代码都运行良好,包括在一页中插入、编辑和下载。再次感谢。
猜你喜欢
  • 2013-08-03
  • 2018-07-27
  • 2017-01-24
  • 2020-01-29
  • 1970-01-01
  • 2014-07-11
  • 2014-10-31
  • 2013-05-14
  • 2017-11-29
相关资源
最近更新 更多