【发布时间】:2020-04-11 10:14:02
【问题描述】:
我正在尝试将 mysqli_query 转换为 PDO。
我被动态创建的 WHERE 分句卡住了。 我读了这篇文章(PHP PDO dynamic WHERE clause),但是你失去了 PDO 的准备功能,这就是我想做的。
这是(部分)我的原始代码
// this is the '$_POST' array
$_POST['org'][0] = 1;
$_POST['org'][1] = 2;
$_POST['org'][2] = 5;
/* Execute a prepared statement by passing an array of values */
$sql['select'] = "SELECT * FROM `table` ";
if(isset($_POST['org']) AND count($_POST['org']) > 0) {
$sql['where'] .= "WHERE ( `org_id` = '".mysqli_real_escape_string($conn, $_POST['org'][0])."' ";
foreach ($_POST['org'] as $key => $value) {
if($key !== 0)
$sql['where'] .= "OR `org_id` = '".mysqli_real_escape_string($conn, $value)."' ";
}
}
$sql = $sql['select'] . $sql['where'];
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
如何在 foreach 循环中使用准备好的语句?
【问题讨论】: