我正在将网站从pear DB更新到MDB2,我已经设法做到了很多,但是我对查询感到困惑,我不确定他们在这里想要实现什么。
谁能解释。
这里是
$bookRes = $mdb2->query(("SELECT * FROM book WHERE (".join(' OR ', $sqlParams).") $categorySQL ORDER BY title"), $sqlValues);
while ($row = $bookRes->fetchRow()) {
$row['type'] = 'book';
$booksPossibles[] = $row;
}
最佳答案
我需要确定更多代码,但这似乎是SELECT语句的简单动态生成,其中将存储在$ sqlParams数组中的各种条件(带有占位符)添加到WHERE子句中,并且这些条件的值在$ sqlValues变量中指定,该变量还是一个数组。
因此$ sqlParams和$ sqlValues可能看起来像:
$sqlParams = array("val1 > ?", "val2 = ?");
$sqlValues = array(2, 4);
(这有助于了解PHP中的join关键字只是implode的别名。)