-2

このmysqlクエリの書き方、

SELECT * FROM  `content`WHERE  `language_option_tag` LIKE  "%English%" 

ユーザーがFORMによってPOSTしたデータのみを選択するPHPコードに

$sql .= 'SELECT * FROM  `content` WHERE  `language_option_tag` LIKE "%' .$lang_name. '%" ; 
4

4 に答える 4

1
$lang_name = $_POST['your_lang'];    
$sql = "SELECT * FROM content WHERE `language_option_tag` LIKE '%$lang_name%'" ; 
于 2013-05-20T06:42:05.923 に答える
0

bcaktick がありません。単にタイプミスである可能性がありますが、これはエラーの原因であり、like の使用方法も異なる必要があります。次のように変更してください

$sql .= 'SELECT * FROM  `content` WHERE  `language_option_tag` LIKE '% .$lang_name. %' ; 
                        ^here is missing backtick `.                ^ here there was a mistake

それでは、あなたが の危険にさらされていることを覚えておいてください。sql injectionこちらをご覧ください。PHP で SQL インジェクションを防ぐにはどうすればよいですか? . リスクを回避するために、準備されたステートメントを使用する必要があります

于 2013-05-20T06:45:00.750 に答える