php插入重复记录

use*_*091 0 php mysql sql

我是php的新手.我已经下载了xampp并创建了一个包含2列ID(主键,自动增量),CENA(INT值)的数据库

在我的index.php中,我只有一个输入文本和一个提交按钮:

 <body>
     <form action="submit.php" method="post">
         <input type="text" name="cena"><label> cena</label>
         <input type="submit" value="Submit">
     </form>
 </body>
Run Code Online (Sandbox Code Playgroud)

这是我的提交脚本:

$sql = "INSERT INTO updat (CENA) VALUES ('$_POST[cena]')";

mysqli_query($con, $sql);

if (!mysqli_query($con, $sql)) 
{
    die('Error: ' . mysqli_error($con));
}

echo "1 record added";
mysqli_close($con);
Run Code Online (Sandbox Code Playgroud)

当我在文本输入中输入一个值,然后点击提交按钮时回显:"添加了1条记录"但是当我在phpMyAdmin中查看我的数据库时,我看到了2条记录.

例:

我输入123进入textinput

在phpMyAdmin中我看到:

+----+------+
| ID | CENA |
+----+------+
|  1 |  123 |
|  2 |  123 |
+----+------+

我没有使用任何循环,为什么2记录?

谢谢

ser*_*gio 6

这是你使用两次mysqli_query:

mysqli_query($con,$sql)

因此,首先在插入数据时,以及在检入if()语句之后,所以只需删除第一个mysql_query,例如以这种方式:

$sql="INSERT INTO updat (CENA) VALUES ('$_POST[cena]')";
 if (!mysqli_query($con,$sql))
 {
 die('Error: ' . mysqli_error($con));
 }
Run Code Online (Sandbox Code Playgroud)