插入语句不插入似乎无法找到问题

时间:2012-07-04 22:01:44

标签: mysql

我正在尝试编写一个简单的INSERT语句来向数据库中添加新用户并且它不起作用,这意味着,我试图插入到表中的数据都不会被插入。我一直试图解决这个问题几个小时,但没有成功。我尝试编写插入语句如下所示,它们对我来说是正确的,因此我很难排除故障。 insert语句中的所有列都存在于我的表中,并且按照确切的顺序排列。如果有人可以提出可能存在问题的建议,我将不胜感激。

我的连接

//Create mysql connect variable
$conn = mysql_connect('1122334455.host.com', 'john', 'password');

//kill connection if error occurs
if(!$conn){

    die('Error: Unable to connect.' . '<br>' . mysql_error());
}
//connect to mysql database
mysql_select_db("jefffffff89", $conn);

到目前为止我尝试过的INSERT语句:

尝试1:

mysql_query("INSERT INTO users (id, email, company-name, city, state, phone, password, first, last)
           VALUES('','hello@gmail.com','johnnys inc','main','NY','443-333-3444','1234567','matt','williams')",$conn);

尝试2:

$query = "INSERT INTO users (id, email, company-name, city, state, phone, password, first, last)
               VALUES('','hello@gmail.com','johnnys inc','main','NY','443-333-3444','1234567','matt','williams')";
        mysql_query($query,$conn);

我能够轻松地将记录添加到下表中,如下所示,它工作正常(所以,我按照相同的逻辑插入上面,但它没有成功插入):

mysql_query("INSERT INTO log (log_id, txn_id, email) VALUES('','hello','world')", $conn);       

1 个答案:

答案 0 :(得分:1)

您的一个列名称包含连字符:

mysql_query("INSERT INTO users (id, email, company-name, city, ...");

假设这是故意的,你需要用反引号来逃避它:

mysql_query("INSERT INTO users (id, email, `company-name`, city, ...");
#                                          ^            ^

但是,最好将列更改为不包含连字符的名称。