【发布时间】:2017-03-02 10:58:50
【问题描述】:
我使用以下命令创建了 artists 表:
$sql = "CREATE TABLE artists (
id int(11) NOT NULL auto_increment,
username VARCHAR(20),
password VARCHAR(20),
first_name VARCHAR(20),
last_name VARCHAR(50),
email VARCHAR(30),
phone VARCHAR(15),
genre VARCHAR(20),
location VARCHAR(20),
description VARCHAR(3000),
promo VARCHAR(200),
soundclound VARCHAR(100),
instruments VARCHAR(100),
event_type VARCHAR(100),
youtube VARCHAR(100),
experience VARCHAR(10),
PRIMARY KEY (id)
);";
$database->query($sql);
我想简单地将用户名和密码记录添加到上面创建的表中。我有一个函数,当我回显它时会创建以下 SQL 查询:
INSERT INTO artists
(id,username,password,first_name,last_name,
email,phone,genre,location,description,
promo,soundcloud,instruments,event_type,youtube,
experience)
VALUES ('', '12345', '12345', '', '',
'', '', '', '', '',
'', '', '', '', '',
'')
但是,当我删除 echo $sql 并调用 $database->query($sql) 时,它会返回错误。
只用 SQL 就可以了
INSERT INTO artists (first_name,last_name) VALUES ('12345','12345')
编辑: 我已经编辑了遍历每个字段的函数,以及插入和 id:
// if ($database->query($sql)) {
// $this->id = $database->insert_id();
// return true;} else {return false;}
echo $sql;
它返回以下内容:
INSERT INTO artists (username,password,first_name,last_name,email,phone,genre,location,description,promo,soundcloud,instruments,event_type,youtube,experience) VALUES ('133', '133', '', '', '', '', '', '', '', '', '', '', '', '', '')
但是当我尝试运行它时,我仍然得到一个错误。
我尝试了一个简单的查询INSERT INTO artists (username,password) VALUES ('123','123'),效果很好
【问题讨论】:
-
不要费心给
id赋值,因为它已经自动递增了。请包括它返回的错误