古いMySQLのものをPDOに変換しているこのプロジェクトがあります。私は 7 年以上 PHP の 1 行も書いていませんが、この 2 週間でこのプロジェクトのアップグレードは順調に進んでいます。
私の質問または問題は、パラメーター :startLetter および :stopLetter を取得して PDO に登録または準備できないことです。:partnerID は正常に機能します。
テストとしてハード コードすると、\'0\' と \'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'
);