php - "input type=text"中的默认文本

标签 php html mysql

我在 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/

相关文章:

javascript - 需要使用 Javascript 插入 onclick 事件的帮助

php - 检查远程主机上的 mysql 状态

php - 如何使用 CakePHP APP 类从 URL 加载 XML 文件?

php - 选择在规范化表中具有多个匹配项的项目

PHP : json_encode is returning NULL array at the start of the string

css - 有什么方法可以修复 fonts.com @font-face 声明吗?

jquery - 使禁用的单选按钮不灰显(表现为只读)

php - mysql索引变化

mysql - 查询代码加入问题

Mysql:根据另一列自动递增一列