插入MySQL数据库

时间:2011-11-26 03:19:53

标签: php mysql

所以我的问题是由于某种原因,这些项目似乎没有进入我的数据库:

$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。

我的代码出了什么问题?

3 个答案:

答案 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."')");
}