powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / выпоняются не все инструкции
4 сообщений из 4, страница 1 из 1
выпоняются не все инструкции
    #38679578
sqlite_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем!

для наглядности упростил код, сам код на PHP

Код: 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.
/*	инициализация	*/

$result_1 = NULL;
$result_2 = NULL;
$result_3 = NULL;
$result_4 = NULL;


/*	запросы, которые будут выполняться последовательно	*/

$query_1 = "
	CREATE TABLE IF NOT EXISTS test (id INTEGER NOT NULL PRIMARY KEY ON CONFLICT ABORT AUTOINCREMENT, test TEXT);
	INSERT INTO test (test)
	SELECT 'tttt';
	SELECT last_insert_rowid() AS id;
";

$query_2 = "SELECT * FROM test;";

$query_3 = "
	INSERT INTO test (test)
	SELECT 'tttt';
";

$query_4 = "SELECT * FROM test;";

$dbh_1 = new PDO('sqlite:C:\test.sqlite3');
$dbh_2 = new PDO('sqlite:C:\test.sqlite3');
$dbh_3 = new PDO('sqlite:C:\test.sqlite3');
$dbh_4 = new PDO('sqlite:C:\test.sqlite3');

$sth_1 = $dbh_1->prepare($query_1);
$sth_2 = $dbh_2->prepare($query_2);
$sth_3 = $dbh_3->prepare($query_3);
$sth_4 = $dbh_4->prepare($query_4);

if ( $sth_1->execute() )
	$result_1 = $sth_1->fetchAll(PDO::FETCH_BOTH);

if ( $sth_2->execute() )
	$result_2 = $sth_2->fetchAll(PDO::FETCH_BOTH);

if ( $sth_3->execute() )
	$result_3 = $sth_3->fetchAll(PDO::FETCH_BOTH);

if ( $sth_4->execute() )
	$result_4 = $sth_4->fetchAll(PDO::FETCH_BOTH);


echo('<br>$result_1 = ');
var_export($result_1);

echo('<br>$result_2 = ');
var_export($result_2);

echo('<br>$result_3 = ');
var_export($result_3);

echo('<br>$result_4 = ');
var_export($result_4);



в итоге получил
Код: plaintext
1.
2.
3.
4.
$result_1 = array ( )
$result_2 = array ( )
$result_3 = array ( )
$result_4 = array ( 0 => array ( 'id' => '1', 0 => '1', 'test' => 'tttt', 1 => 'tttt', ), )

т.е. получается, что первый скрипт $query_1 выполнился не полностью, а только первая инструкция
"CREATE TABLE IF NOT EXISTS test (id INTEGER NOT NULL PRIMARY KEY ON CONFLICT ABORT AUTOINCREMENT, test TEXT);"

почему такое происходит, и как это побороть?
...
Рейтинг: 0 / 0
выпоняются не все инструкции
    #38679878
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, вероятно, пых-пых, как и остальные средства взаимодействия с базой обеспечивают (исключительно) выполнение запросов. А не скриптов.
...
Рейтинг: 0 / 0
выпоняются не все инструкции
    #38680038
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlite_newпочему такое происходит, и как это побороть?Происходит вот по этому:
http://sqlite.org/c3ref/prepare.html
Обрати внимание на последний аргумент функции.

Как побороть - сделать свой модуль для пхп.
...
Рейтинг: 0 / 0
выпоняются не все инструкции
    #38680159
sqlite_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,
Спасибо, буду смотреть
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / выпоняются не все инструкции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]