嘿伙计,所以我一直在试图找出为什么我的更新功能不会更新我的数据库。
这是功能:
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 [name] =>熏鸡法国长棍 [描述] =>用山羊奶酪 [price] => 13 [date] => 1330585200 )
我没有收到任何错误消息。它只是不更新任何东西。请帮助:)
答案 0 :(得分:3)
您似乎没有绑定ID。
这可能是你的问题。
答案 1 :(得分:0)
在每个更新和删除查询中,您都需要一个用于执行查询的主键值。在您的示例中,您在查询中提到了ID,但是下面没有绑定,因此id查询将不知道要更新哪一行。