|
автор: FreeGL (04.12.2004 в 19:11) |
|
| Здравствуйте!
Я пытаюсь передать функции mysql_query сразу несколько SQL команд
(первая 'select' а вторая 'create') в качестве раздилителя
используя ; но не одна из них не выполняется :(
поотдельности они работают
ниже куски кодов которые я испробовал :)
$sql_select = mysql_query( "SELECT * FROM table ; create table dd2(lol int)");
$sql_select = mysql_query( "SELECT * FROM table ; create table dd2(lol int);");
заранее спасибо | |
|
|
|
|
|
|
|
для: FreeGL
(04.12.2004 в 19:11)
| | Так не получится... Следует использовать либо многострочные команды SQL, например INSERT
INSERT INTO tbl VALUES (NULL, "первая строка", 3),
(NULL, "вторая строка", 2),
(NULL, "третья строка", 1)
|
либо поместить команды в массив и выполнять их в цикле
<?php
$query[] = "SELECT * FROM table";
$query[] = "create table dd2(lol int)";
$query[] = "INSERT INTO tbl VALUES (NULL, "первая строка", 3)";
foreach($query as $value) mysql_query($value);
?>
|
| |
|
|
|
|
автор: FreeGL (06.12.2004 в 18:55) |
|
|
для: cheops
(04.12.2004 в 19:32)
| | зивените а Вы не могли бы обьяснить, почему 7
Ведь в mysql можно использовать ; для обьединения команд | |
|
|
|
|
|
|
|
для: FreeGL
(06.12.2004 в 18:55)
| | Это диктует API PHP для работы с MySQL, дело в том, что если за один раз будет передаваться более одной команды MySQL он не сможет реагировать на ошибки и не будет знать результаты какой из команд следует возвращать (если переданы два разнородных оператора SELECT). | |
|
|
|
|
автор: FreeGL (06.12.2004 в 22:37) |
|
|
для: cheops
(06.12.2004 в 19:18)
| | 10x | |
|
|
|