[英]php update query error
我正在嘗試更新我的帳戶信息,但始終遇到相同的錯誤
public function update_user() {
$obj_db = $this->obj_db();
$query_update = "update `users` set "
. "first_name='$_POST[first_name]',"
. "middle_name='$_POST[middle_name]',"
. "last_name='$_POST[last_name]',"
. "email='$_POST[email]',"
. "gender='$_POST[gender]',"
. "contact_number='$_POST[contact_number]'"
. "where `userID` = '$this->userID'";
$r4 = $obj_db->query($query_update);
if ($obj_db->affected_rows == 0) {
throw new Exception(" * Update user information error <br> Nothing Update");
}
}
編輯
如果出現$this->userID
為空(每次您從注釋中echo
$query_update
的ing)。 看到我的回答也怎么還站在您的查詢就會甚至失敗$this->userID
包含的值,我決定用這個編輯到位離開這里。
原版的
如果您在上啟用了error_reporting,則會收到“ 注意:使用未定義的常量 ”或類似的結果,因為$_POST
數組鍵需要用引號引起來,如下所示:
$_POST['contact_number']
代替:
$_POST[contact_number]
您的$query_update
變量將變為:
$query_update = "update `users` set "
. "first_name='$_POST['first_name']',"
. "middle_name='$_POST['middle_name']',"
. "last_name='$_POST['last_name']',"
. "email='$_POST['email']',"
. "gender='$_POST['gender']',"
. "contact_number='$_POST['contact_number']'"
. "where `userID` = '$this->userID'";
因為您的數組鍵沒有用引號引起來,所以它們被PHP解析器假定為常量。 由於它們不是在應用程序中定義的常量,因此它們不是有效的數組鍵。 但是,這只會引起注意 ,這就是腳本繼續執行的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.