2016-02-19 36 views
1

我的功能不起作用,雖然它顯示數據已更新的成功消息。但數據庫中的數據依然相同。我的更新不起作用,雖然它向我顯示成功的消息

public function update(){ 
    $mysql = new Mysql(); 

    $query = "UPDATE module SET 
    modulename = '$this->name', 
    modulecode = '$this->code', 
    semesterid = '$this->semester', 
    departmentid = '$this->department', 
    programid = '$this->program' 
    where moduleid = '$this->id';"; 

    $mysql->execute($query); 
    if($mysql->result){ 
     $mysql->successMessage("Successfully Updated Data"); 
    } 
} 

if(isset($_POST['update'])){ 
    $module = new Module($_POST); 
    $module->update(); 
} 
+1

** $ this-> id **的值是多少? –

+0

沒有'$ mysql-> result'這樣的東西。您應該得到該行的錯誤或警告。 – Barmar

+0

什麼是新的Mysql?在PHP中沒有'Mysql'類 - 到MySQL的OOP接口是'PDO'和'Mysqli'。 – Barmar

回答

-2

嘗試使用:

$query = "UPDATE module SET 
    modulename = '".$this->name."', 
    modulecode = '".$this->code."', 
    semesterid = '".$this->semester."', 
    departmentid = '".$this->department."', 
    programid = '".$this->program."' 
    where moduleid = '".$this->id; 
+1

爲什麼這應該有所作爲?難道你不知道PHP支持雙引號字符串中的變量替換嗎? – Barmar

+0

雙引號內有分號 –

+1

AFAIK,這不是問題。您不能擁有多個語句,但您可以在語句結尾處使用分號。 – Barmar

0

我認爲你正在尋找的受查詢,而不是結果的行數。

嘗試使用mysql_affected_rows()查看是否有任何內容實際上由查詢更新。

相關問題