我仍然习惯了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 ('', '','','','','')
非常感谢任何有关此问题的提示,提示或帮助。
答案 0 :(得分:2)
我的建议:
对于每个字段,如果您尚未在查询中使用它们,请先分配它们:
$fname = mysql_real_escape_string($_POST['fname']);
mysql_real_escape_string
函数有助于防止SQL注入攻击。
答案 1 :(得分:0)
在进行插入而不传递特定ID时,最好使用NULL
而不是用逗号留空空间...事实上,我不确定这是否是有效的语法
答案 2 :(得分:0)
您需要确保提交数据的HTML表单上的method
属性设置为post
或get
。
假设您的变量名称与表单中的字段名称匹配,那么您可以将数据设置为$fname
或$_POST['fname']
,而不是使用$_GET['fname']
等字段名称,具体取决于您的action
HTML表单
答案 3 :(得分:0)
您可能认为register_globals等于'on'? ))
但该指令已被删除。在此查询之前显示您的代码。你必须设置你的变量($ lname = mysql_escape_string($ _ POST ['lname']))...