PDO 関数を作成しようとしていますが、パラメーターのバインドに苦労しています。通常は :field アプローチを使用しますが、この場合、変数の数や名前がわかりません。
function fetch($field,$table,$query,$values){
global $kdb;
$sql = "SELECT $field FROM $table $query";
$stmt = $kdb->prepare($sql);
$num = 1;
foreach($values as $value){ $stmt->bindParam($num, $value); $num += 1;}
$stmt->execute();
$row = $stmt->fetch();
return $row;
}
これは、このようなページで呼び出されます (後でインジェクションを回避するための手順を追加します)
print_r(fetch("*","user","WHERE `ID` = ? AND `forename` = ?",array('1','Robin')));
問題はにあると思いますが、その$stmt->bindParam($num, $value);
理由はわかりません。