柔軟な更新クエリを作成しようとしています。私は今、次のようなものを持っています:
$lsQuery = "UPDATE `";
$lsQuery .= $psTableName;
$lsQuery .= " SET ";
foreach($psValues as $lsKey => $lsValue)
{
$lsQuery .= $lsKey;
$lsQuery .= " = '";
$lsQuery .= $lsValue;
$lsQuery .= "' AND ";
}
$lsQuery .= "` ";
$lsQuery .= "WHERE ";
if(isset($psWhere)){
foreach($psWhere as $lsKey => $lsValue)
{
$lsQuery .= $lsKey;
$lsQuery .= " = '";
$lsQuery .= $lsValue;
$lsQuery .= "' AND ";
}
}
$lsQuery = substr($lsQuery,0,(strlen($lsQuery)-5));
しかし、クエリを画面に出力すると、次のようになります。
UPDATE persons SET per_password = '2a6445462a09d0743d945ef270b9485b' AND
WHERE per_email = 'bla@gmail.com'
この余分な「AND」を取り除くにはどうすればよいですか?