防止重复行插入php/mysql

我试图从文本框中插入多个记录到mysql表中。 如果我输入2个以上的记录,它将插入重复项。 这是代码。 我在做什么错?防止重复行插入php/mysql

一些更多的信息

表信息

id (int) primary auto_increment 

email (varchar)

imei (varchar)

date_ordered (datetime)

status(varchar)

由于这仅仅是个开始,我有改变的表结构没有问题。

$email = $_SESSION['email']; 

$now = time():

$status = "1";

$imeis = $_POST['imeis'];

$row = explode("\n", $imeis);

foreach ($row as $key => $imei)

{

$imei = mysql_real_escape_string($imei);

$query = "SELECT * FROM orders WHERE imei = '$imei'";

$result = mysqli_query($link, $query);

if (mysqli_num_rows($result) == 0)

{

$query1 = "INSERT IGNORE INTO orders (email, imei, date_ordered, status) VALUES ('$email', '$imei', '$now', '$status')";

$result1 = mysqli_query($link, $query1) OR die("fml");

if ($result1)

{

echo "Added $imei<br>";

}

}

else

{

echo "<B>$imei</B> already there<br>";

}

}

回答:

它看起来像你希望imei的每个值在您的表中是唯一的。这是一个猜测,但它看起来像你在做什么。

您可以通过将imei列定义为唯一的方式在SQL中执行该操作:即通过在其上创建唯一索引。您现在的表格有一个id作为唯一(主键)。您可以轻松创建另一个。

以上是 防止重复行插入php/mysql 的全部内容, 来源链接: utcz.com/qa/260101.html

回到顶部