#php #sqlite
#php #sqlite
Вопрос:
У меня странная проблема на странице PHP, я пытаюсь вставить новую строку в таблицу users (SQLite3) следующим образом
$id=$db->insert_user("'".$parameters['first_name']."'", "'".$parameters['last_name']."'", "'".$parameters['email']."'", "'".$parameters['username']."'", "'".$parameters['password']."'", "'".$parameters['privilege']."'");
где
try {
$db = new SQLite3($this->db_path);
echo "INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES('$first_name','$last_name','$email','$username','$password','$privilege');";
$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();
echo ''.$last_id;
$db->close();
return $last_id;
} catch (Exception $e) {
echo 'Exception caught: ', $e->getMessage(), "n";
}
INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES(''drkosh'',''drkosh'',''drkosh'',''drkosh'',''drkosh'',''ignore'');
результат echo равен
INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES(''drkosh'',''drkosh'',''drkosh'',''drkosh'',''drkosh'',''ignore'');
Сообщение об ошибке странное, оно написано в строке 35, но 35 находится в switch, и я никогда не прохожу через 35, есть перерывы. Кто-нибудь имеет представление, что не так? (все столбцы в порядке и имя таблицы)
Ответ №1:
посмотрите на sql-запрос, там есть ''drkosh''
, но там должно быть только 'drkosh'
INSERT INTO users(first_name,last_name,email,username,password,privilege) VALUES(''drkosh'',''drkosh'',''drkosh'',''drkosh'',''drkosh'',''ignore'');
попробуйте это:
$id=$db->insert_user($parameters['first_name'], $parameters['last_name'], $parameters['email'], $parameters['username'], $parameters['password'], $parameters['privilege']);