私のコードでは、MySQLテーブルに行が挿入されています(存在しない場合)。クエリにはユニークなインデックスが必要なので、ちょうど1
(行番号8)の静的な値である$id
を挿入しています。クエリに動的IDを使用するにはどうすればよいですか?
public function prepare($author, $arr) {
$conn = new mysqli($this->servername, $this->username, $this->password, $this->db_name);
foreach ($arr as $value) {
$stmt = $conn->prepare("INSERT IGNORE INTO kh_comments(id, author,abstract) VALUES (?, ?, ?)");
$id = 1; // Just a static value
$stmt->bind_param("dss", $id, $author, $value['id']);
$stmt->execute();
$stmt->close();
$conn->close();
}
}
1
の代わりに動的な値を使用したいと考えています。変数$id
は、どのIDが影響を受けているか把握するのに十分スマートでなければなりません。または、これを行う別の方法がある場合は、私は任意の提案に感謝!
あなたの 'dbテーブル'に '自動インクリメントされたプライマリキー'を作成し、それをクエリから削除すると、すべてがうまくいくでしょう。 –
テーブル定義のIDを自動インクリメントカラムとして設定します –
@Anant 'id'はすでに'私はそれを私のクエリから削除すると、何ももう挿入することはできません。 – Reza