我有这个项目,我将旧的 MySQL 东西转换为 PDO。我已经 7 年多没有写过 PHP 了,但是在过去的两周里我在升级这个项目方面做得很好,在 PHP 和 MySQL 的一些东西上仍然生疏。
我的问题或问题是我无法获取参数 :startLetter 和 :stopLetter 在 PDO 中注册或准备。:partnerID 工作正常。
如果我将它硬编码为测试,在 \'0\' AND \'Z\' 之间它可以正常工作。我确实将下面数组中的值硬编码为测试,并且我也测试了变量。我进行了搜索,每个人在下面都有几乎相同的东西。
我难住了!
$lc_query =
'SELECT DISTINCT m.image_file, m.manufacturer' .
' FROM product p' .
' INNER JOIN manufacturer m' .
' ON p.mfg_id = m.mfg_id' .
' INNER JOIN products pp' .
' ON p.prod_id = pp.prod_id' .
' WHERE m.manufacturer BETWEEN \'0\' AND \'Z\' ' .
//' WHERE m.manufacturer BETWEEN :startLetter AND :stopLetter ' .
' AND pp.p_id = :partnerID' .
' AND p.avail_type < 3' .
' ORDER BY m.manufacturer';
$lc_params = array(
//':startLetter' => $lc_alphastart . ', PDO::PARAM_STR',
//':stopLetter' => $lc_alphaend . ', PDO::PARAM_STR',
':partnerID' => $go_sitedict['partner_id'] . ', PDO::PARAM_INT'
);