私の更新機能がデータベースを更新しない理由を理解しようとしていました。ここPHPまたはMySQLデータベースの更新はありません
関数である:
public function update() {
if (is_null($this->id)) triger_error ("DailyMenuItem::update(): Attempt to update a DailyMenuItem object that does not have its ID property set.", E_USER_ERROR);
$conn = new PDO (DB_DSN, DB_USERNAME, DB_PASSWORD);
$sql = "UPDATE daily_menu SET date=FROM_UNIXTIME(:date), name=:name, description=:description, price=:price WHERE id = :id";
$st = $conn->prepare ($sql);
$st->bindValue(":name", $this->name, PDO::PARAM_STR);
$st->bindValue(":description", $this->description, PDO::PARAM_STR);
$st->bindValue(":price", $this->price, PDO::PARAM_INT);
$st->bindValue(":date", $this->date, PDO::PARAM_INT);
$st->execute();
$conn = null;
}
このオブジェクトは、この
DailyMenuItemオブジェクト ( [ID] => 4 [名] =>スモークチキンバゲット [説明]を含んでいます=>ヤギチーズと一緒に [価格] => 13 [日付] => 1330585200 )
エラーメッセージは表示されません。それは何も更新しません。助けてください:)
IDをバインドしましたか? –
bindValueメソッドを見ると、WHERE句の値は表示されません。これは更新するレコードです(WHERE id =:id) – user466764
$ result = $ st-> execute();更新の結果を取得する –