php - 使用准备语句在 MySQL 中插入自动递增 ID 的问题

标签 php mysql mysqli prepared-statement

我在 MySQL 数据库中有一个名为 MyGuests 的表,它有 4 个字段:id(PK 和自动递增)、姓名、年龄和电子邮件。我正在使用以下代码将用户输入表单中的数据插入到数据库中:

<?php
$sql = mysqli('localhost','user','password','database');
$name  = $_POST['name'];
$age   = $_POST['age'];
$email = $_POST['email'];

$query = $sql->prepare("INSERT INTO MyGuests ( id, name, age, email) VALUES (?, ?, ?, ?)");

$query->bind_param("isis",$name,$age,$email);

$query->execute();
?>

现在我很困惑如何使用 Prepared 语句为自动递增字段 id 插入值!如您所见,我将 4 个参数作为 (?, ?, ?, ?) 传递给数据输入,并使用 "isis" 作为 bind_param();但不确定必须在 $name,$age,$email 中为 id 添加什么?

你能帮我解决这个问题吗?

谢谢

最佳答案

只需在查询中省略 id

INSERT INTO MyGuests ( name, age, email) VALUES (?, ?, ?)

它会自动添加递增的 id,因此得名 :)

关于php - 使用准备语句在 MySQL 中插入自动递增 ID 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27467534/

相关文章:

php - 通知 : Trying to get property of non-object in php

php - Uncaught Error : Call to undefined function mysqli_connect()

javascript - 在php中使用javascript上传图像

php - 读取php文件并查找mysql

php - 导入 CSV 到 MySql,如果重复,更新选择的值

mysql - SQL:默认 where 子句

php - mysql php显示结果但不插入数据库

mysql - 你如何在mysql或rails中做到这一点

php - (显然)相同的字符串具有不同的哈希值

php - mysqli_fetch_array迭代问题