在 MySQL 查询中使用数组 (PHP):综合指南
可以通过合并数组来指定参数来增强 MySQL 查询。这允许在单个语句中高效处理多个值。
方法 1:准备好的语句
准备好的语句提供了一种安全有效的方法来向查询添加动态值。通过使用准备好的语句,您可以迭代地将每个数组元素绑定为参数:
$mysqli = new mysqli(...); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); foreach ($ids as $id) { $stmt->bind_param("i", $id); $stmt->execute(); echo "Updated record ID: $id\n"; }
方法 2:查询中的参数占位符
或者,您可以嵌入查询本身中的参数占位符并将所有数组元素绑定在一个中步骤:
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)"; $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) . "\n";
选择哪种方法?
选择取决于具体用例:
准备的好处语句
请记住,使用准备好的语句是保护您的数据库免受恶意攻击的重要安全措施攻击。
以上是如何在 PHP 中高效地使用数组与 MySQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!