1

我正在尝试编写一个简单的 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);       
4

1 回答 1

1

您的列名之一包含连字符:

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

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

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

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

于 2012-07-04T22:04:46.487 回答