所以我的问题是由于某种原因,这些项目似乎没有进入我的数据库:
$comment = $_POST['comment'];
if (isset($_POST['username']) or $_POST['username'] != '') {
$username = $_POST['username'];
mysql_query('Insert into comments VALUES (comment="'.$comment.'", username="'. $username.'")');
echo $username;
}
else {
mysql_query('insert into comments values (comment="'.$comment.'")');
}
我的表名为comments,一个字段名为comment,一个字段名为username。
我的代码出了什么问题?
答案 0 :(得分:5)
SQL插入格式不正确: -
insert into comments
(list of columns...) values ( list of values ...);
或者
insert into comments
set column1=value1, column2=value2 ...;
如果您执行var_dump(mysql_error());
,
你应该能够看到更多关于错误的详细信息
偏离主题: -
你插入语句不适合sql注入,
https://stackoverflow.com/tags/php/info
答案 1 :(得分:0)
首先想到:
if (isset($_POST['username']) or $_POST['username'] != '') {
$username = $_POST['username'];//If you use OR in the condition. $username could be not set of maybe ''
所以用AND替换OR,所以当你进入If的真实条件时,$ username会有一些东西
答案 2 :(得分:0)
更正后的代码如下...... 我在以前的php项目中使用过这种技术.... 可能对你有用..
$comment = $_POST['comment'];
if (isset($_POST['username']) AND $_POST['username'] != '') {
$username = $_POST['username'];
mysql_query("Insert into comments VALUES ('".$comment."', '".$username."')");
echo $username;
}
else {
mysql_query("insert into comments values ('".$comment."')");
}