dongmu6578 2011-06-08 13:24
浏览 192
已采纳

无法在SQLite表中插入字符串,但可以编号

Can naybody tell me what this means

INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES('s',1,1,1,1,1);

but when I try

INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES(1,1,1,1,1,1);

it works. I cannot insert string ? What is wrong ? My SQLite table looks like

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)
);

and my PHP function looks like

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(), "
";
    }
}
  • 写回答

4条回答 默认 最新

  • douzhaobo6488 2011-06-08 13:28
    关注
    $db->query("INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES('$first_name','$last_name','$email','$username','$password','$privilege');")
    

    Missing a ' around the variables. Might want to escape values first. Debugging tip: Put your query into a variable, echo that variable and try it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊