3
$query = "SELECT * FROM `mytable` WHERE `file` REGEXP '[:val-9]'";
$stmt = $dbh->prepare($query);
$stmt->bindValue(':val', '1'); //I have also tried 1 without quotes
$stmt->execute();

このエラーをスローします:

構文エラーまたはアクセス違反: 1139 正規表現から「無効な文字範囲」というエラーが発生しました

これを行うことは可能ですか..

4

1 に答える 1

5

プレースホルダーは、文字列に埋め込まれず、値が表示される場合にのみ使用できます。試す:

$query = "SELECT * FROM `mytable` WHERE `file` REGEXP CONCAT('[', :val, '-9]')";
于 2012-09-23T01:21:24.467 に答える