插入查询错误

时间:2017-05-25 13:09:32

标签: php mysql postgresql

我试图将字符串插入数据库,但当它包含单引号(')时,查询将变为无效。

$set_content=$_POST['content']; 

$result = pg_query($db,"INSERT INTO programmes(title,picture,content) VALUES('$set_title','$pic_path','$set_content');");

1 个答案:

答案 0 :(得分:-1)

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));