Я только начал работать с sqlite3, и моя страница постоянно обновляется и продолжает вставлять данные в базу данных. Если я закомментирую команду вставки, страница не обновится. Я думаю, что это может быть связано с моим подключением к базе данных, но я не уверен. Заранее спасибо. Вот полный код:
<?php
class create {
function makeDB() {
$pdo = new PDO("sqlite:db/SSDB");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$mainDB = "CREATE TABLE IF NOT EXISTS pass (
'rowID' INTEGER,
'username' CHAR(256) NOT NULL,
'pass' CHAR(256) NOT NULL,
'iv' CHAR(256) NOT NULL
)";
$pdo->query($mainDB);
}
}
class connectDB {
public function connect() {
try {
$dbh = new PDO("sqlite:db/SSDB");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
} catch (PDOException $ex) {
echo $ex->getMessage();
die();
}
}
}
$connDb = new connectDB();
$conn = $connDb->connect();
$createDB = new create();
$createDB->makeDB();
$string = "hi1";
$salt = 'salt';
$encrypted_string = 'test';
$iv = 4;
$sql = "INSERT INTO pass VALUES(1,:encrypted,:salt,:iv)";
$sqlPrepare = $conn->prepare($sql);
$sqlPrepare->execute(array(':encrypted' => $encrypted_string, ':salt' => $salt,:iv'=> $iv));
Согласно вашему первоначально размещенный код / вопрос что вы отредактировали и переписали не помечая это как редактирование, Если кто-нибудь увидит это и спросит, почему ответ с таким же исправлением:
Во-первых, вы используете (одинарные) кавычки для своих столбцов в коде создания таблицы.
Используйте кавычки или удаляйте кавычки.
$mainDB = "CREATE TABLE IF NOT EXISTS `pass` (
`rowID` INTEGER,
`username` CHAR(256) NOT NULL,
`pass` CHAR(256) NOT NULL,
`iv` CHAR(256) NOT NULL
)";
Вам также не хватает цитаты для $salt,:iv'
=> $salt,':iv'
добавлять $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
сразу после открытия соединения найдите ошибки, которые должен был выдать ваш исходный код.
Или же, $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
в зависимости от того, который вы используете.
Что касается «Моя страница постоянно обновляется» — Я не вижу, как обновится ваша страница. Вам нужно будет уточнить это.
Других решений пока нет …