0

データベーステーブルに2つの通知を挿入するスクリプトがありますが、最初のメモを追加するだけで、2番目のメモは追加しません。私はそれらを交換しようとしましたが、それでも2つのうちの最初のものしか投稿しません.これが私のコードです:

<?php
$type = "---";
$title = "---";
$note1 = "Note 1";
$note2 = "Note 2";
?>
<?php
if($business1 !== ""){
    $insert_note1_sql = "INSERT INTO notes (id, recipient, type, title, post, message, date) VALUES('$id', 'Business 1', '$type', '$title', '$event', '$note1', '$time')";
    $insert_note1_res = mysqli_query($con, $insert_note1_sql);
};
?>
<?php
if($business2 !== ""){
    $insert_note2_sql = "INSERT INTO notes (id, recipient, type, title, post, message, date) VALUES('$id', 'Business 2', '$type', '$title', '$event', '$note2', '$time')";
    $insert_note2_res = mysqli_query($con, $insert_note2_sql);
};
?>

2番目のnotが投稿されていない理由を誰でも見ることができますか(両方とも!=="")?

4

3 に答える 3

2

おそらくidフィールドは主キー フィールドであり$id、挿入のために両方のクエリで同じものを使用しているため、重複キー違反が発生しています。

失敗の戻り値を確認する必要があります。

$insert_note1_res = mysqli_query(...);
if ($insert_note1_res === FALSE) {
   die(mysqli_error());
}
于 2013-09-24T17:21:14.633 に答える
0

IFステートメントは使用しません;

if($business2 !== ""){
    $insert_note2_sql = "INSERT INTO notes (id, recipient, type, title, post, message, date) VALUES('$id', 'Business 2', '$type', '$title', '$event', '$note2', '$time')";
    $insert_note2_res = mysqli_query($con, $insert_note2_sql);
}; // <--------- ISSUE

適切な方法

<?php
$type = "---";
$title = "---";
$note1 = "Note 1";
$note2 = "Note 2";

echo $business1;

if($business1 !== ""){
    $insert_note1_sql = "INSERT INTO notes (id, recipient, type, title, post, message, date) VALUES('$id', 'Business 1', '$type', '$title', '$event', '$note1', '$time')";
    $insert_note1_res = mysqli_query($con, $insert_note1_sql);
}

echo $business2;

if($business2 !== ""){
    $insert_note2_sql = "INSERT INTO notes (id, recipient, type, title, post, message, date) VALUES('$id', 'Business 2', '$type', '$title', '$event', '$note2', '$time')";
    $insert_note2_res = mysqli_query($con, $insert_note2_sql);
}
?>
于 2013-09-24T17:20:44.743 に答える