2016-03-16 25 views
0

我試圖更新所選的數據行,但無法更新它。一旦我運行代碼,我得到這個輸出{"RowCount": 0 ,"results": []}。假設我應該得到1,但我沒有得到它。我可以知道如何解決這個問題。MySQL無法更新數據庫中的行

這是我的PHP代碼:

case 'updateStudent': 
$studentUpdateSQL = "UPDATE srs_student SET surname=:surname, forename=:forename, 
        email=:email WHERE studentid=:id"; 
$rs = new JSONRecordSet(); 
$retval = $rs->getRecordSet($studentUpdateSQL, 'ResultSet', 
      array(':surname'=>$surname, 
       ':forename'=>$forename, 
       ':email'=>$email, 
       ':id'=>$id 
      )); 
echo $retval; 
break; 

這是JSONRecordSet類:

function getRecordSet($sql, $elementName = "ResultSet", $params = null) { 
    $stmt  = parent::getRecordSet($sql, $params); 
    $recordSet = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    $nRecords = count($recordSet); 
    if ($nRecords == 0) { 
     $status = 'error'; 
     $message = json_encode(array("text" => "No records found")); 
     $result = '[]'; 
    } 
    else { 
     $status = 'ok'; 
     $message = json_encode(array("text" => "")); 
     $result = json_encode($recordSet); 
    } 
    return "{\"RowCount\": $nRecords ,\"results\": $result}"; 
    } 
} 
+0

將是有益的,如果你表現出'JSONRecordSet'類。 – Daan

+0

實際上其他情況下工作,所以我認爲JSONRecordSet工作正常,但無論如何,我會發布JSONRecordSet類代碼 – anonymous5671

+0

@Daan我已更新我的問題與代碼 – anonymous5671

回答

0
$rs = new JSONRecordSet(); 
$db_conn = pdoDB::getConnection(); 
$stmt=$db_conn->prepare($studentUpdateSQL); 
$retval=$stmt->execute(array(':surname'=>$surname, 
       ':forename'=>$forename, 
       ':email'=>$email, 
       ':id'=>$id)); 
echo $retval;