0 レビュー
1 回答
php-列名が同じプレフィックスを共有する場合のMysqlの少ないコード
データベースにテーブルがあり、一部の列名に類似のプレフィックスと増分インデックス 'var_1、var_2 ...'がある場合、コードを少なくするために、通常は次のように使用します。
for($i=0; $i < 10; $i++)
{
if($i < 9)
$query .= 'prefix_'.$i.'=:value_'.$i.' AND ';
else
$query .= 'prefix_'.$i.'=:value_'.$i;
}
$final_query = "UPDATE $table SET ".$query;
$stmt = $conn->prepare($final_query );
for($i=0; $i < 10; $i++)
{
$stmt->bindValue(':value_'.$i, $values[$i], PDO::PARAM_STR);
}
このように実行しても大丈夫ですか、それともコードを減らすために何か別のことをする必要がありますか?
わからない
0
レビュー
答え :
解決:
$ queryに対してこのようなことを行うことができます
$query = implode(' AND ',
array_map(fn($i) => 'prefix_'.$i.'=:value_'.$i, range(0,9)));
数値0..9を配列にマップし、区切り文字として「AND」を使用してすべてを結合します
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。