2
PHP配列をSQLクエリに変換しようとしましたが、データを更新していないようです。何か案は?なぜ私はデバッグダンプから何かを得ることができないように思える。PHP配列からSQLクエリ
$terms = count($getResource);
foreach ($getResource as $field => $value)
{
$terms--;
$prepareStr .= $field . ' = :' . $field;
if ($terms)
{
$prepareStr .= ', ';
}
}
$terms = count($getResource);
$executeStr .= "':settlementID'=>'$getSettlementID', ";
foreach ($getResource as $field => $value)
{
$terms--;
$executeStr .= "':" . $field . "'=>'" . $value . "'";
if ($terms)
{
$executeStr .= ', ';
}
}
try
{
//update resources
$sqlupdate = $db->prepare("UPDATE settlements SET " . $prepareStr . " WHERE id = :settlementID");
$sqlupdate->execute(array($executeStr));
}
catch (PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$sqlupdate->debugDumpParams();
}
'settlementID'の値をバインドする必要があります。 –
$ executeStr。= "':settlementID '=>' $ getSettlementID '、"; これでは不十分ですか? – MrBig
なぜ 'array(string)'を 'execute'に渡しますか?値の配列を渡すだけです: 'array( ':settlementID' => $ getSettlementID)' –