MySQL クエリの ID 配列を反復処理する
PHP で MySQL クエリを操作する場合、クエリから複数の値を組み込む必要がある場合があります。配列をクエリに挿入します。このガイドでは、プリペアド ステートメントと動的 SQL クエリの両方を使用してこれを効率的に実現する方法を説明します。
プリペアド ステートメント (推奨)
プリペアド ステートメントにより、セキュリティと効率が強化されます。使用方法は次のとおりです:
$ids = array(2, 4, 6, 8); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); for ($i = 0; $i < count($ids); $i++) { $stmt->bind_param("i", $ids[$i]); $stmt->execute(); echo "Updated record ID: $ids[$i]"; } $stmt->close();
動的 SQL クエリ
また、動的 SQL クエリを動的に構築することもできます:
$ids = array(2, 4, 6, 8); $params = implode(",", array_fill(0, count($ids), "?")); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)"; $stmt = $mysqli->prepare($sql); $types = str_repeat("i", count($ids)); $args = array_merge(array($types), $ids); call_user_func_array(array($stmt, 'bind_param'), ref($args)); $stmt->execute(); echo "Updated record IDs: " . implode(",", $ids);
比較と使用法ガイドライン
プリペアド ステートメントの利点
以上がID の配列を指定した PHP を使用して複数の MySQL レコードを効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。