【问题标题】:PDO how to get auto_increment value from a tablePDO 如何从表中获取 auto_increment 值
【发布时间】:2015-11-28 19:52:51
【问题描述】:

我正在用 php 创建日历并从数据库中获取事件。我们还必须使用准备好的 PDO 语句插入事件。我可以成功创建新事件并将其插入事件表中。我还必须与家人联系和活动。

$stmt = $handle->prepare("INSERT INTO events(name, description, starthour, meridian, eventdate)
  VALUES(:name, :description, :starthour, :meridian, :eventdate)");
$stmt->execute(array(
    "name" => $name,
    "description" => $description,
    "starthour" => "$starthour",
    "meridian" => "$meridian",
    "eventdate" => "$eventdate"
 ));

$stmt1 = $handle->prepare("INSERT INTO familymemberevents(familymemberID,eventID)
    VALUES(:familymemberID, :eventID)");
$stmt1->execute(array(
    "familymemberID" => $familymemberid,
    "eventID" => 
));

eventID 自动递增。无论如何我可以从数据库中获取这个号码吗? 提前致谢!

【问题讨论】:

标签: php mysql pdo last-insert-id


【解决方案1】:
$stmt = $handle->prepare("INSERT INTO events(name, description, starthour, meridian, eventdate)
    VALUES(:name, :description, :starthour, :meridian, :eventdate)");
$stmt->execute(array(
    "name" => $name,
    "description" => $description,
    "starthour" => "$starthour",
    "meridian" => "$meridian",
    "eventdate" => "$eventdate"
));

$eventID = $handle->lastInsertId();

if($eventID){
    //Event Insert successful, continue with familymemberevent insert
    $stmt1 = $handle->prepare("INSERT INTO familymemberevents(familymemberID,eventID)
        VALUES(:familymemberID, :eventID)");
    $stmt1->execute(array(
        "familymemberID" => $familymemberid,
        "eventID" => $eventID
    ));
}else{
    //Event Insert failed - handle appropriately here
}

【讨论】:

  • 我认为是 $handle->lastInsertId() 而不是 $stmt->lastInsertId()
  • @myoch 你是对的。谢谢你抓住那个。固定。
猜你喜欢
  • 2013-07-27
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多