Задать вопрос
@Q1MdDiOHL2N

Как добавить запись в базу данных SQLITE?

Пытаюсь добавить запись
$webroot = $_SERVER['DOCUMENT_ROOT'];
$db = new PDO("sqlite:$webroot/db/database.db");
		if($_GET['username'] == null)
			exit();
		$username = $_GET['username'];
		$st = $db->prepare("INSERT INTO reports_blacklist_table (user_nick) VALUES (?)");
        $st->execute(array($username);

В ответе никаких ошибок нет, но и в базе запись тоже не появляется. Что я делаю не так?
  • Вопрос задан
  • 217 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron
Работаю с Bitrix24
1. А кто будет скобки правильно писать? У вас php-ошибка: (одной скобки не хватает):
$st->execute(array($username);

2. Почитайте про обработку ошибок в php - php.net/manual/ru/pdo.error-handling.php

$webroot = $_SERVER['DOCUMENT_ROOT'];

try
{
	$db = new PDO("sqlite:$webroot/db/database.db");

	$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	
    $username = $_GET['username'];
	
	if ( empty($username) )
	{
		throw new \Exception("User name is empty");
	}
	
    $st = $db->prepare("INSERT INTO reports_blacklist_table (user_nick) VALUES (?)");
	
	$st->execute([$username]);
}
catch( \Exception $e )
{
	var_dump($e->getMessage());
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы