PHP с PDO с использованием sqlite3 постоянно обновляет страницу

Я только начал работать с 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));

0

Решение

Согласно вашему первоначально размещенный код / ​​вопрос что вы отредактировали и переписали не помечая это как редактирование, Если кто-нибудь увидит это и спросит, почему ответ с таким же исправлением:

Во-первых, вы используете (одинарные) кавычки для своих столбцов в коде создания таблицы.

Используйте кавычки или удаляйте кавычки.

$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); в зависимости от того, который вы используете.

Что касается «Моя страница постоянно обновляется» — Я не вижу, как обновится ваша страница. Вам нужно будет уточнить это.

  • В опубликованном вами вопросе нет кода для поддержки обновления или перенаправления страницы.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]