Мне было интересно, сможет ли кто-нибудь взглянуть на мой код и, надеюсь, указать мне правильное направление.
У меня есть форма регистрации HTML, значения которой я пытаюсь сохранить в базе данных SQLite.
$users_db = new SQLite3('users.sqlite', SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
$users_db->exec('CREATE TABLE IF NOT EXISTS "users" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user_id" TEXT,
"session_id" TEXT,
"date_time" TEXT,
"name" TEXT,
"email" TEXT,
"salt" TEXT,
"password" TEXT)');
$users_db->prepare('INSERT INTO users
VALUES (":id", ":user_id", ":session_id", ":date_time", ":name", ":email", ":salt", ":password")');
$insert_in_db = $users_db->prepare('SELECT * FROM users WHERE id=:id');
$insert_in_db->bindValue(':id', 1, SQLITE3_INTEGER);
$insert_in_db->bindValue(':user_id', $USER_ID, SQLITE3_TEXT);
$insert_in_db->bindValue(':session_id', $SESSION_ID, SQLITE3_TEXT);
$insert_in_db->bindValue(':date_time', $DateTime, SQLITE3_TEXT);
$insert_in_db->bindValue(':name', $sanitized_name, SQLITE3_TEXT);
$insert_in_db->bindValue(':email', $sanitized_email, SQLITE3_TEXT);
$insert_in_db->bindValue(':salt', $salt, SQLITE3_TEXT);
$insert_in_db->bindValue(':password', $salt_password_hash, SQLITE3_TEXT);
$result = $insert_in_db->execute();
Я все утро пытался заставить его работать, поэтому буду очень признателен за некоторую помощь.
Приведенный выше код не содержит ошибок, однако он не сохраняет никаких значений в базе данных.
Заранее спасибо. :-)
🤔 А знаете ли вы, что...
С PHP можно создавать кастомные расширения с помощью Си-кода.
Убедитесь, что ваша команда вставки является фактической командой вставки, а не командой выбора, которая выполняется в данный момент:
$users_db = new SQLite3('users.sqlite', SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
$users_db->exec('CREATE TABLE IF NOT EXISTS "users" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user_id" TEXT,
"session_id" TEXT,
"date_time" TEXT,
"name" TEXT,
"email" TEXT,
"salt" TEXT,
"password" TEXT)');
$insert_in_db = $users_db->prepare('INSERT INTO users
VALUES (":id", ":user_id", ":session_id", ":date_time", ":name", ":email", ":salt", ":password")');
$insert_in_db->bindValue(':id', 1, SQLITE3_INTEGER);
$insert_in_db->bindValue(':user_id', $USER_ID, SQLITE3_TEXT);
$insert_in_db->bindValue(':session_id', $SESSION_ID, SQLITE3_TEXT);
$insert_in_db->bindValue(':date_time', $DateTime, SQLITE3_TEXT);
$insert_in_db->bindValue(':name', $sanitized_name, SQLITE3_TEXT);
$insert_in_db->bindValue(':email', $sanitized_email, SQLITE3_TEXT);
$insert_in_db->bindValue(':salt', $salt, SQLITE3_TEXT);
$insert_in_db->bindValue(':password', $salt_password_hash, SQLITE3_TEXT);
$result = $insert_in_db->execute();