データベースに文字列を挿入しようとしていますが、一重引用符( ')が含まれているとクエリが無効になります。クエリの挿入バグ
$set_content=$_POST['content'];
$result = pg_query($db,"INSERT INTO programmes(title,picture,content) VALUES('$set_title','$pic_path','$set_content');");
データベースに文字列を挿入しようとしていますが、一重引用符( ')が含まれているとクエリが無効になります。クエリの挿入バグ
$set_content=$_POST['content'];
$result = pg_query($db,"INSERT INTO programmes(title,picture,content) VALUES('$set_title','$pic_path','$set_content');");
http://php.net/manual/en/function.pg-query.php
ユーザーが入力したデータの警告
文字列の補間は非常に危険であると は、SQLインジェクションの脆弱性につながる可能性があります。ほとんどの場合 pg_query_params()は、クエリー文字列に置き換えるのではなく、ユーザ指定の値を パラメータとして渡すことを推奨します。
$result = pg_query_params($db,"INSERT INTO programmes(title,picture,content) VALUES($1,$2,$3);",Array($set_title,$pic_path,$set_content));
ありがとうございました!それはうまくいった。クエリは完全に今通過しています。 –
私たちはそのような露骨な複製に答えるべきではありません。 –
代わりのSQLインジェクションの脆弱性を自分で作り、プリペアドステートメントを使用すると、あなたはこの問題を持っていません。http://php.net/manual/en/function.pg-prepare.php –
あなたは単一引用符の中にPHP変数を使用することはできません。 以下のクエリで試してください $ set_content = $ _ POST ['content']; "$ set_content"、 "'$ pic_path' ')$ result = pg_query($ db、" INSERT INTOプログラム(タイトル、画像、コンテンツ)VALUES(' $ set_title。 ; "); – gyaan