С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
2 / 2 / 0
Регистрация: 08.09.2014
Сообщений: 101

Warning: SQLite3::exec(): near "'12345'": syntax error

08.04.2017, 14:35. Показов 3708. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Еще раз, здравствуйте. Вот ну не доходит до меня. Исправила вроде одну ошибку, появились 2 другие. При попытке отправить форму регистрации выдает ошибки

Warning: SQLite3::exec(): near "'12345'": syntax error in D:\xampp\htdocs\OOP\user\UserDB.class.ph p on line 64

Fatal error: Uncaught Exception: Error with connection in D:\xampp\htdocs\OOP\user\UserDB.class.ph p:66 Stack trace: #0 D:\xampp\htdocs\OOP\user\save_user.inc.p hp(16): UserDB->createUser('katya', 'succubus1996@ma...', 12345) #1 D:\xampp\htdocs\OOP\user\user.php(7): require('D:\\xampp\\htdocs...') #2 {main} thrown in D:\xampp\htdocs\OOP\user\UserDB.class.ph p on line 65


Вот класс создания юзера:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
 
require_once "IUserDB.class.php";
 
class UserDB  implements IUserDB{
 
    const DB_NAME = "news_2.db";
    
    private $_db = null;
 
    function __get($name){
 
        if ($name == "_db")
            return $this->_db;
        throw new Exception("Unknown property!");
    }
 
    function __construct(){
 
        $this->_db = new SQLite3(self::DB_NAME);
        if(filesize(self::DB_NAME)==0){
            
    try{
            $sql = "CREATE TABLE post(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, category INTEGER, description TEXT, source TEXT, datetime INTEGER)";
 
            if (!$this->_db->exec($sql)) 
                throw new Exception($this->_db->lastErrorMsg());
 
            $sql = "CREATE TABLE users(id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, email TEXT, password INTEGER)";
 
            if (!$this->_db->exec($sql)) 
                throw new Exception($this->_db->lastErrorMsg());
 
            $sql = "CREATE TABLE category(id INTEGER, name TEXT)";
 
            if (!$this->_db->exec($sql)) 
                throw new Exception($this->_db->lastErrorMsg());
 
            $sql = "INSERT INTO category(id, name) SELECT 1 as id, 'Politics' as name UNION SELECT 2 as id, 'Culture' as name UNION SELECT 3 as id, 'Sport' as name";
 
            if (!$this->_db->exec($sql)) 
                throw new Exception($this->_db->lastErrorMsg());
 
            } catch(Exception $e){
 
                    //$e->getMassage();
                    echo "Everything is bad :(";
 
            }
        }
 
 
    }
 
    function __destruct(){
 
        unset($this->_db);
    }
 
 
    function createUser($username, $email, $password) {
 
        $sql = "INSERT INTO users(username, email, password) VALUES ('$username', '$email' '$password')";
        $result = $this->_db->exec($sql);
        if (!$result) throw new Exception("Error with connection");
 
        
    }
 
    function logIn($username, $password){
 
        
            $sql = "SELECT username, password WHERE (username = '$username', password = '$password')";
            $res = $this->_db->query($sql);
            if ($res) {
                 $session = new Session();
                $session->set('username', $username);
            
        }
    }
 
 
        function logOut($username){
 
        
 
                $session->del('username');
 
 
        
 
    }
 
    function clearStr($data){
 
        $data = strip_tags($data);
        return $this->_db->escapeString($data);
    }
 
    function clearInt($data){
 
        return abs((int)$data);
 
    }
 
}


Вот файл формы:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
require_once "UserDB.class.php";
$user = new UserDB();
//$errMsg = "";
if ($_SERVER["REQUEST_METHOD"]=="POST") 
  require "save_user.inc.php";
  
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <title>Регистрация</title>
    <meta charset="utf-8" />
</head>
<body>
 
  
  <form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
    Логин:<br />
    <input type="text" name="username" /><br />
    E-mail:<br />
    <input type="text" name="email" /><br />
    Пароль<br />
    <input type="text" name="password" /><br />
    <input type="submit" value="Добавить!" />
  </form>
 
   
 
 
</body>
</html>

Вот файл производящий сохранение юзера:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
 
 
 $userName = $user->clearStr($_POST['username']);
    $userEmail = $user->clearStr( $_POST['email']);
 $userPass = $user->clearInt($_POST['password']);
 
 if (empty($userName) or empty ($userPass)) {
    
    $errMsg = "Fill in all the fields of the form!";
 }else{
 
    if (!$user->createUser($userName, $userEmail,  $userPass))  {
     $errMsg = "An error occurred while adding user";
    }else{
 
        header("Location: login.php");
        exit; 
    }
 }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2017, 14:35
Ответы с готовыми решениями:

PDO - Syntax error or access violation: 1064 You have an error in your SQL syntax
public function getAllGategoryId(){ $sql = &quot;SELECT id_cat FROM category WHERE show = yes...

syntax error (SQLite3::SQLException)
http://upwap.ru/3058142 при попытке запуска .rb файла получаю следующее: ...

Sqlite3.OperationalError: near "(": syntax error
здравствуйте, пишу бота с субд sqlite, не могу понять в чем заключается ошибка def get_month_stats(user_id: int, year_month: str)...

2
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.04.2017, 14:47
Цитата Сообщение от kittycat_13 Посмотреть сообщение
$sql = "INSERT INTO users(username, email, password) VALUES ('$username', '$email', '$password')";
...
0
2 / 2 / 0
Регистрация: 08.09.2014
Сообщений: 101
08.04.2017, 14:57  [ТС]
Ну вот опять. Спасибо огромнейшее! Записи начали добавляться. Но почему-то у меня не происходить редирект на страницу login.php хотя все в порядке. Проверила в БД, записи есть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2017, 14:57
Помогаю со студенческими работами здесь

sqlite3.OperationalError: near "<": syntax error
summ = 10 phone = cur.execute(&quot;&quot;&quot;SELECT real_name FROM user WHERE User_id = (?)&quot;&quot;&quot;, (call.message.chat.id, )) ...

Syntax error or access violation 1064 you have an error in your sql syntax[Unix server]
Привет, помогите разобраться, есть движок, при установке движка на openserver движок спокойно установился и работает прекрасно ...

[ilink32 Warning] Warning: Error detected (LME1631) [ilink32 Error] Error: Unable to perform link
Не компилируется приложение, линкер чудит. Временные файлы удалял, комп перезапускал, от админа запускал и проект выгружал. Не помогло...

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "DROP": syntax error
Уважаемые коллеги, добрый день. Мне дали проект, который нужно развернуть на Linux. По мануалу я дохожу до: python -m pip install...

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "(": syntax error
Здравствуйте. Столкнулся с такой ошибкой в sqlalchemy: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near &quot;(&quot;:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru