$ query =“INSERT INTO

时间:2011-06-14 18:15:21

标签: php insert

我仍然习惯了PHP以及它能做些什么。我设计了一个register.php页面。我有它工作,但它只是在表中发布空字段。

这是我正在使用的代码:

$query = "
    INSERT INTO users (`id`, `fname`, `lname`, `username`, `email`, `password`)
    VALUES ('', '".$fname."','".$lname."','".$username."','".$email."','".$password."')";

我没有输入我发布到数据库的数据,但空白字段是,所以发生了一些事情。

我试图跑:

echo `$query`; 

这就是我从输出中获得的:

INSERT INTO users (`id`, `fname`, `lname`, `username`, `email`, `password`) VALUES ('', '','','','','')

非常感谢任何有关此问题的提示,提示或帮助。

4 个答案:

答案 0 :(得分:2)

我的建议:

对于每个字段,如果您尚未在查询中使用它们,请先分配它们:

$fname = mysql_real_escape_string($_POST['fname']);

mysql_real_escape_string函数有助于防止SQL注入攻击。

答案 1 :(得分:0)

在进行插入而不传递特定ID时,最好使用NULL而不是用逗号留空空间...事实上,我不确定这是否是有效的语法

答案 2 :(得分:0)

您需要确保提交数据的HTML表单上的method属性设置为postget

假设您的变量名称与表单中的字段名称匹配,那么您可以将数据设置为$fname$_POST['fname'],而不是使用$_GET['fname']等字段名称,具体取决于您的action HTML表单

答案 3 :(得分:0)

您可能认为register_globals等于'on'? ))

但该指令已被删除。在此查询之前显示您的代码。你必须设置你的变量($ lname = mysql_escape_string($ _ POST ['lname']))...