PHP或MySQL不会更新数据库

时间:2012-03-01 16:09:31

标签: 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       [name] =>熏鸡法国长棍       [描述] =>用山羊奶酪       [price] => 13       [date] => 1330585200   )

我没有收到任何错误消息。它只是不更新​​任何东西。请帮助:)

2 个答案:

答案 0 :(得分:3)

您似乎没有绑定ID。

这可能是你的问题。

答案 1 :(得分:0)

在每个更新和删除查询中,您都需要一个用于执行查询的主键值。在您的示例中,您在查询中提到了ID,但是下面没有绑定,因此id查询将不知道要更新哪一行。