我是php和postgres sql的新手。 我有这个问题:" pg_query():查询失败:错误:缺少表格的FROM子句条目" manteau ^
$adresse=pg_escape_string($_POST['mail_user']);
if(isset($_POST['mail_user']))
{
$query="INSERT INTO newusers2 (email) VALUES ($adresse)";
pg_query($con,$query);
}
使用mail_user =我的地址发送电子邮件至manteau.b ... 我的表(newusers2)非常简单,只有一列(电子邮件)。
有人可以帮我查询吗?
由于
答案 0 :(得分:0)
除了由于缺少引用而导致错误之外,您的代码也非常不安全。
$query="INSERT INTO newusers2 (email) VALUES ($adresse)";
pg_query($con,$query);
想象一下,如果有人提交了');DELETE FROM newusers2;--
作为他们的地址吗?哎呀,有你的用户表。
有关详细信息,请参阅the PHP documentation on SQL injection和this site。
使用pg_query_params
解决此问题。这很简单:
$query='INSERT INTO newusers2 (email) VALUES ($1)';
pg_query($con,$query,array($adresse));
(请注意,PHP中的新代码确实应该使用PDO。)