プレースホルダ変数が引用符で囲まれた「123」というデータベースクエリで使用するために、準備されたPDO文を使用しようとしています。 」と 『456:123『と 『456』の変数(REGEX式であっても可能である』クエリでREGEXを使用する準備済みSQL文のセキュリティ
はSELECT `user_ID` as `ID`
FROM `usermeta`
WHERE (`meta_key` = 'custom_fields')
AND (`meta_value` REGEXP '.*"ABC";.*s:[0-9]+:"123".*')
AND (`meta_value` REGEXP '.*"DEF";.*s:[0-9]+:"456".*')
私の質問は、ベストプラクティスは、全体REGEX式に特異的に結合する、または単にするだろう、です』 )、まったく違う何か?好ましいつまり、
、この:
SELECT `user_ID` as `ID`
FROM `usermeta`
WHERE (`meta_key` = 'custom_fields')
AND (`meta_value` :REGEXP1)
AND (`meta_value` :REGEXP2)
$stmt->bindParam(':REGEXP1', "REGEXP '.*"ABC";.*s:[0-9]+:"123".*'");
$stmt->bindParam(':REGEXP2', "REGEXP '.*"DEF";.*s:[0-9]+:"456".*'");
それとも、この? (プレースホルダを二重引用符で囲む問題があることはわかっています)
SELECT `user_ID` as `ID`
FROM `usermeta`
WHERE (`meta_key` = 'custom_fields')
AND (`meta_value` REGEXP '.*"ABC";.*s:[0-9]+:":value1".*')
AND (`meta_value` REGEXP '.*"DEF";.*s:[0-9]+:":value2".*')
$stmt->bindParam(':value1', '123');
$stmt->bindParam(':value2', '456');
ありがとうございます。
ブリリアントを。ありがとうございました。 – user1596165