0
我試圖從文本框中插入多個記錄到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>";
}
}
這部分可能會很棘手'或死(「fml」)' –
@BarbarosÖzhan這不是真的有幫助。 @OP第一個問題可能是'INSERT IGNORE'。這就像說:我不在乎是否有重複,只是忽略它並繼續。其次,'OR死亡(「fml」)'根本沒有幫助你。它會告訴你有問題,但不是問題所在。直到生產完成,你應該使用'OR die(「Errormessage:%s \ n」,mysqli_error($ link))'',這樣你才能從中得到一些有用的信息。 – icecub
@icecub謝謝,對我有用。 –