我正在尝试编写一个简单的 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);
最佳答案
您的其中一个列名称包含一个连字符:
mysql_query("INSERT INTO users (id, email, company-name, city, ...");
假设这是故意的,您需要使用反引号将其转义:
mysql_query("INSERT INTO users (id, email, `company-name`, city, ...");
# ^ ^
但是,最好将您的列更改为一个不包含连字符的名称。
关于mysql - Insert statement not insert 好像找不到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335842/