foo
と呼ばれるテーブルがid (PRIMARY & AUTO_INCREMENT)
の列と考えてください。私はこのテーブルに行を挿入しており、この時点でチャレンジが開始されます。"mysql_insert_id"に依存する
$db->query("INSERT INTO `foo` (id, row1, ...) VALUES('', '$row1', ...)");
if (!$db->is_error && $db->last_insert_id) {
$id = $db->last_insert_id;
do_really_important_things_with_last_ID($id);
do_another_important_things_with_last_ID($id);
...
do_ ... with_last_ID($id);
do_ ... with_last_ID($id);
}
私はすぐにINSERTクエリの後、それを呼び出して、正確に現在の接続リンクを使用してlast_insert_id
を取得中に、どのようにそれは問題ではない(?)知りませんよ。
$this->dbh = @mysql_connect(.....);
...
// query function
$this->result = @mysql_query($query, $this->dbh);
...
if (preg_match("/insert/i", $query)) {
$this->last_insert_id = @mysql_insert_id($this->dbh);
}
私はmysql_insert_id
に頼って、この実装を心配すべきか?
ありがとう@Hemant;しかし、 '$ this-> last_insert_id'を' $ db-> query() '関数に' $ query'に 'INSERT'キーワードが含まれていればすぐに格納します。 –
クエリでidフィールドを使用してスキップしてみてください – Dau