トップページ > プログラム > 2016年03月13日 > kS6/ihj4

書き込み順位&時間帯一覧

13 位/180 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000001001100003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©2ch.net

書き込みレス一覧

【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
998 :デフォルトの名無しさん[sage]:2016/03/13(日) 15:35:19.10 ID:kS6/ihj4
ume
【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©2ch.net
4 :デフォルトの名無しさん[sage]:2016/03/13(日) 18:29:54.00 ID:kS6/ihj4
POSTで受け取った値でprepara+bindvalueを自動作成する方法を自分で作ってみたのですが、
$stmt = $pdo -> prepare($sql);の部分でエラーが出てしまいます。[42000]
改善策をお願いします。

$table = "$_GET['table']";
$clmname = '';
$valname = '';

foreach ($_POST as $key => $value) {
$clmname .= $key.", ";
$valname .= ":".$key.", ";
}
unset($key);

//末尾のコンマと空白削除
$clmname = substr($clmname, 0, -2);
$valname = substr($valname, 0, -2);

$sql = "INSERT INTO $table($clmname) VALUES($valname)";

$stmt = $pdo -> prepare($sql);
foreach ($_POST as $key => $value) {
$stmt -> bindValue(":$key", $clan_policy, PDO::PARAM_STR);
}
$stmt -> execute();
【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©2ch.net
6 :デフォルトの名無しさん[sage]:2016/03/13(日) 19:23:29.33 ID:kS6/ihj4
?INSERT INTO scouts_a(gender, age, active) VALUES(:gender, :age, :active)

$sqlは上記のような感じで、特に支障はない模様です。
※便宜上パラメーターを3つにしましたが、10ぐらいあり、内容もテーブル名によって変動します。
そのため自動作成したいと考えています。

foreachも間違っていたので修正しておきます。
foreach ($_POST as $key => $value) {
$stmt -> bindValue(":$key", ${$key}, PDO::PARAM_STR);
}

検索してみてもpdo文を自動作成するソースが見つからなかったため、
この方法はひょっとして非推奨なのでしょうか?

手動でも出来なくはない量なのですが、メンテナンス性や可読性のために挑戦してみました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。