Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* プリペアドステートメントのSQLを組み立てる [#g868c732]
- カラム名をキーにしたハッシュを元にプリペアドステートメ...
- array_join()の使い方など若干不自然な部分もあるが、PHPに...
<?
// 以下のようなハッシュを想定する
$req = array('user_id' => 100, 'name' => 'taro', 'age' =...
// 元になるハッシュから必要な値だけ取り出す
$data = array();
foreach (array('user_id','name','age','tel') as $n) {
$data[$n] = $req[$n];
}
// インサート文
$sql = sprintf('insert into user (%s) values (%s)',
join(', ',array_keys($data)),
join(', ',array_pad(array(),sizeof($data),'?'))
);
print "$sql\n";
// アップデート文
$user_id = $data['user_id'];
unset($data['user_id']); // user_idはwhere句で使い、...
$sql = sprintf('update user set %s =? where user_id = ?',
join(' = ?, ',array_keys($data)),
$user_id
);
print "$sql\n";
?>
終了行:
* プリペアドステートメントのSQLを組み立てる [#g868c732]
- カラム名をキーにしたハッシュを元にプリペアドステートメ...
- array_join()の使い方など若干不自然な部分もあるが、PHPに...
<?
// 以下のようなハッシュを想定する
$req = array('user_id' => 100, 'name' => 'taro', 'age' =...
// 元になるハッシュから必要な値だけ取り出す
$data = array();
foreach (array('user_id','name','age','tel') as $n) {
$data[$n] = $req[$n];
}
// インサート文
$sql = sprintf('insert into user (%s) values (%s)',
join(', ',array_keys($data)),
join(', ',array_pad(array(),sizeof($data),'?'))
);
print "$sql\n";
// アップデート文
$user_id = $data['user_id'];
unset($data['user_id']); // user_idはwhere句で使い、...
$sql = sprintf('update user set %s =? where user_id = ?',
join(' = ?, ',array_keys($data)),
$user_id
);
print "$sql\n";
?>
ページ名: