2016-11-07 95 views
-1

我最近有代碼更改數據庫連接到PDO。 其實我已經做對了,成功了。但我想在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=$stmt->fetch(PDO::FETCH_ASSOC); 
//if($result){ 
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 

我想是,我仍然需要if($result)來觸發我的其他代碼。

+0

對不起,我認爲這不是重複。基本是相同的使用PDO,但我**重點檢查與$結果** –

回答

1

無論您的查詢是否成功,現在由​​確定,而不是由fetch()確定。所以你必須這樣做:

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

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

這真的很有幫助。非常感謝。我所有的代碼都能正常工作,包括在一個頁面中插入,編輯和下載。再次感謝。 –