奈伯蒂能否告诉我这是什么意思
INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES('s',1,1,1,1,1);
但是当我尝试
INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES(1,1,1,1,1,1);
有用。我不能插入字符串?怎么了 ?
我的SQLite表看起来像
CREATE TABLE users (
id integer PRIMARY KEY AUTOINCREMENT NOT NULL,
first_name varchar(50),
last_name varchar(50),
email varchar(50),
username varchar(50),
password varchar(50),
privilege varchar(50)
);
我的PHP函数看起来像
public function insert_user($first_name, $last_name, $email, $username, $password, $privilege) {
try {
$db = new SQLite3($this->db_path);
$db->query("INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES($first_name,$last_name,$email,$username,$password,$privilege);");
$last_id = $db->lastInsertRowID();
$db->close();
return $last_id;
} catch (Exception $e) {
echo 'Exception caught: ', $e->getMessage(), "\n";
}
}
最佳答案
$db->query("INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES('$first_name','$last_name','$email','$username','$password','$privilege');")
在变量周围缺少'。可能想先转义值。
调试提示:将查询放入变量中,回显该变量并尝试。