即使我输入写入查询

时间:2015-05-20 15:38:25

标签: php mysql database

我无法通过php在mySQL中插入数据,

首先,我使用PHpmyadmin

创建了数据库及其表

我的表格如下,

CREATE TABLE users (
    firstsname varchar(12) NOT NULL,
        lastname varchar(20) NOT NULL,
        gender varchar(6) NOT NULL,
        dob varchar(10) NOT NULL,
        address varchar(40) NOT NULL,
        town varchar(20) NOT NULL,
        states varchar(20) NOT NULL,
        postcode int(4) NOT NULL,
        emailaddress varchar(100) PRIMARY KEY UNIQUE,
        phonenumber int(10) NOT NULL,
        comments varchar(1000) NULL       
);

创建表格后,我使用此代码连接到此表所在的数据库testing

$host = "localhost";
$user = "root";
$pwd = "";
$sql_db = "testing";
$conn = @mysqli_connect($host,$user,$pwd,$sql_db);

if (!$conn) {
    echo "<p>Connection has failed!</p>";
} else {
    echo "<p>Success</p>";
}

我在屏幕上显示Success消息表示连接成功,但是当我尝试使用PHP写入此表时,我总是会收到错误,但是当我在phpmyadmin中运行相同的查询时,它会起作用并将表格行添加到数据库中,

这就是我在PHP中所做的,

$query = "INSERT INTO users ('firstname', 'lastname', 'gender', 'dob', 'address', 'town', 'states', 'postcode', 'emailaddress', 'phonenumber', 'comments') 
VALUES ('asds', 'adssad', 'male', '04/08/1991', 'saddadsasd', 'dasasd', 'adssad', '1111', 'dasdas@dassda.com', '1111111111', 'adssaddsadsa')";
$result = mysqli_query($conn, $query);

if (!$result){
    echo "ERROR";
} else {
    echo "Done";
}
mysqli_close ($conn);

我跑的时候总是得到错误。

为什么它通过phpmyadmin而不是PHP?

1 个答案:

答案 0 :(得分:3)

尝试更改此行:

$query = "INSERT INTO users ('firstname', 'lastname', 'gender', 'dob', 'address', 'town', 'states', 'postcode', 'emailaddress', 'phonenumber', 'comments') 
VALUES ('asds', 'adssad', 'male', '04/08/1991', 'saddadsasd', 'dasasd', 'adssad', '1111', 'dasdas@dassda.com', '1111111111', 'adssaddsadsa')";

$query = "INSERT INTO users (firstname, lastname, gender, dob, address, town, states, postcode, emailaddress, phonenumber, comments) 
VALUES ('asds', 'adssad', 'male', '04/08/1991', 'saddadsasd', 'dasasd', 'adssad', '1111', 'dasdas@dassda.com', '1111111111', 'adssaddsadsa')";

注意我已将列名更改为没有引号。

如果你真的想要你可以使用滴答声:

INSERT INTO users (`firstname`, `lastname`

但是,我建议不要引用也不要打勾。