我花了几个小时尝试编写 mysqli 查询以在数据库中插入一个新行(使用主键 ID),然后选择新行的 ID。我目前的代码:
<?php
include('connectionData.php');
$conn = mysqli_connect($server, $user, $pass, $dbname, $port)
or die('Connection error');
if(isset($_POST['submit'])) {
$pnum = $_POST['pnum'];
$phone_insert_text = "INSERT INTO `voterdatabase`.`phone` (`pnum`) VALUES (?)";
$phone_insert_query = $conn->prepare($phone_insert_text);
$phone_insert_query->bind_param('s', $pnum);
$phone_insert_query->execute();
$phone_select_text = "SELECT phone_id FROM voterdatabase.phone WHERE pnum=?";
$phone_select_query = $conn->prepare($phone_select_text);
$phone_select_query->bind_param('s', $pnum);
$phone_select_query->execute();
$phone_select_query->bind_result($phone_id);
echo $phone_id;
?>
$phone_insert_query
执行没有问题。但是 $phone_select_query
似乎根本没有运行,因为 echo $phone_id;
没有效果。这里可能发生了什么?我能够直接在 MySQLWorkbench 中运行查询。
请注意,我之前尝试使用 SELECT LAST_INSERT_ID();
在一个查询中执行此操作,但 mysqli 无法执行任何包含该查询的查询。
最佳答案
请试试这个
$lastInsertID= mysqli_insert_id($conn);
关于php - 执行 mysqli 插入查询然后立即选择新行的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34255152/