我在 mysql 中有一个表,有 2 个字段(num 和 name)
我需要插入很多名字,每个名字都有一个数字,如下例
如果我只插入名称并将数字 txt 留空,我需要在“第 2 页”中的 php 在最后一个数字之后插入下一个数字(在本例中为数字 5),换句话说,我需要它包含默认文本,但此文本是表格中的最后一个数字(在本例中为数字 5)。
1 - 约翰
2 - 玛丽亚
3 - 莫妮卡
4 - 乔治
第 1 页 form_page.html
<form action="add.php" method="post">
<input type="text" name="txt_num">
<input type="text" name="txt_name">
<input type="submit">
</form>
第 2 页 add.php
<?php
include('connect_db.php');
$sql="INSERT INTO(
num,
name,
)
VALUES(
'$_POST[txt_num]',
'$_POST[txt_name]',
)";
?>
第 3 页 connect_db.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database_name";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("<p2>Database connection failed: </p2>" . mysqli_connect_error());
}
?>
最佳答案
您的解决方案是 Auto_Increment ,它将为您完成工作。
您需要将 num 设置为 auto_increment,并且使其成为该表的主键。
连接到 MySQL 并尝试以下查询:
ALTER TABLE tbl_name ADD COLUMN `id` int(11) unsigned primary KEY AUTO_INCREMENT;
ALTER TABLE tbl_name DROP COLUMN num;
ALTER TABLE tbl_name CHANGE id num int(11) unsigned;
顺便说一句,您上面的代码将不起作用,因为您缺少表名并且有多余的逗号。
假设您像我建议的那样更改表,您的查询将如下所示
$sql="INSERT INTO tbl_name(name)VALUES($_POST[txt_name])";
注意:您需要转义 txt_name 值,否则您的代码很容易受到攻击。
关于php - "input type=text"中的默认文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895091/