mysql - 插入之前检查mysql表数据

标签 mysql duplicate-data

我需要知道在 php 脚本插入该表之前是否可以查询和检查数据库表数据?

我制作了一个包含 2 个字段和提交按钮(POST)的 html,并且将数据添加到数据库表并获取其结果也没有遇到任何问题,但我有重复项,我不想拥有它.. .我希望脚本检查我的数据、输入的数据,如果没有重复则添加它。

请帮忙。

谢谢

代码

<?php


$con=mysqli_connect("localhost","root","Opera1","railway");


if(mysqli_connect_errno())
{
echo "Failed to connect to MySQL: ", mysqli_connect_error;
}

$data1 = $_POST['data1'];
$data2 = $_POST['data2'];



$sql="replace into pipe (data1, data2) 
values ('$data1','$data2')";



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


echo "Record to Registraton added";

$result = mysqli_query($con,"SELECT * FROM pipe");

echo "<table border='1'>
<tr>
<th>Data1</th>
<th>Data2</th>
</tr>";

while($row = mysqli_fetch_array($result))
  {
 echo "<tr>";
  echo "<td>" . $row['data1'] . "</td>";
  echo "<td>" . $row['data2'] . "</td>";
  echo "</tr>";
  }
echo "</table><br><br>";


mysqli_close($con);


?>

最佳答案

       <?php


    $con=mysqli_connect("localhost","root","Opera1","railway");


    if(mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: ", mysqli_connect_error;
    }

    $data1 = $_POST['data1'];
    $data2 = $_POST['data2'];

    $sql1="select * from pipe";
    $q1=mysql_query($con, $sql1);
    $t=0;
    while($row1=mysql_fetch_array($q1))
    {

    if($row1['data1']== '$data1' || $row1['data2']=='$data2')
    {
    $t=1;
    break;
    }
    }
    if($t==1)
     { 
       echo "Duplicate Entry!";
     }
    else
    {

    $sql="replace into pipe (data1, data2) 
    values ('$data1','$data2')";



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


    echo "Record to Registraton added";

    $result = mysqli_query($con,"SELECT * FROM pipe");

    echo "<table border='1'>
    <tr>
    <th>Data1</th>
    <th>Data2</th>
    </tr>";

    while($row = mysqli_fetch_array($result))
      {
     echo "<tr>";
      echo "<td>" . $row['data1'] . "</td>";
      echo "<td>" . $row['data2'] . "</td>";
      echo "</tr>";
      }
    echo "</table><br><br>";

    }

    mysqli_close($con);


    ?>

关于mysql - 插入之前检查mysql表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468117/

相关文章:

mysql - Insert ... on duplicate key update nothing 使用MySQL

protocols - ARP源硬件地址是否冗余?

php - 使用用于 MySQL 的 PDO 准备语句将多个值从数据数组插入多个列

php - 删除语句显示删除成功,但不删除记录

java - 使用 Jackson 和 Hibernate 的多对多无限递归

mysql - 复制同一张表中的所有数据MYSQL

python - 在 Odoo 中覆盖 Python 模型字段时出现问题?

sql-server - SQL Server 重复删除

mysql - SQL(MySQL): Best way to force different values two columns of a row?

mysql - 在表已锁定的情况下执行嵌套 SQL 时,“表未使用锁表锁定”