我正在将网站从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的别名。)

09-20 08:15