|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2011, 17:59 | #1 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
не работает два запроса inser into
есть запрос:
$str="INSERT INTO "st_br" (nam, chb) VALUE ("1", 1);"; если его выполнить: mysql_query($str);, то работает. если написать так: $str="INSERT INTO "st_br" (nam, chb) VALUE ("1", 1); INSERT INTO "st_br" (nam, chb) VALUE ("1", 1);"; mysql_query($str);, то не работает.. если этот запрос выполнить в Navicat Lite, то выполняет.. Почему он на пхп не хочет выполнять?? |
23.06.2011, 18:06 | #2 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Что-то у вас там полный разврат с кавычками, похоже.
Откопайте стюардессу: ` - для экранирования названий столбцов, таблиц и баз данных в MySql. " - для текстовых строк в PHP с парсингом на значения переменных, буде такие присутствуют в строке. ' - для текстовых строк в PHP без парсинга переменных и для текстовых строк в MySql. (если в них числовое значение и столбец таблицы имеет численную типизацию, то значение парсится автоматически до числа и уже как число вбивается в таблицу. Navicat - полезная штука, я сам её очень люблю, но уж очень она попустительствует бездорожью и разгильдяйству. Как, впрочем, и PHP. попробуйте как-то так: PHP код:
PHP код:
Пусть не зенд, пусть вим даже. даже форумная подсветка всё показывает PHP код:
Последний раз редактировалось graymaster; 23.06.2011 в 18:27. |
23.06.2011, 18:20 | #3 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
$str = "INSERT INTO `st_br` (nam, chb) VALUE ('1', '1');"; - работает
$str = "INSERT INTO `st_br` (nam, chb) VALUE ('1', '1'); INSERT INTO `st_br` (nam, chb) VALUE ('1', '1');"; - не хочет вываливат: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near... |
23.06.2011, 18:46 | #4 | |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Очень сильно извиняюсь за предположение про причины с кавычками (хотя у вас там действительно разврат, да). Проблема - в другом, и она не решается стандартными методами.
Был введён в заблужение нашими же собственными классами (там эмулируется подобная работа, зачем - не знаю. Иногда пользовался, но только сейчас понял, что это эмуляция. php.net Цитата:
Быть может, это работает с MSSql, но теперь уже не уверен. Последний раз редактировалось graymaster; 23.06.2011 в 18:51. |
|
23.06.2011, 18:48 | #5 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
так что же делать?? писать два mysql_query('...');??? и если мне понадобиться 20 запросов сделать??))) писать 20 раз??
Последний раз редактировалось SkrudjMakdak; 23.06.2011 в 18:52. |
23.06.2011, 18:55 | #6 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Видимо да, придётся.
У нас это всё равно позже разбивается на 2 запроса и посылается по отдельности. Когда 2 - это ерунда, если много больше - можно было бы попробовать сохранить все запросы в файл (через точку с запятой). Потом через консольную команду скормить этот файл mysql. Но это когда реально много запросов, более нескольких сотен, иначе просто невыгодно связываться. |
23.06.2011, 19:07 | #7 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
спасибо большое за информацию.
|
23.06.2011, 19:53 | #8 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Не смог найти ничего в mysql, но в mysqli есть плюшка, навзывается она mysqli_multi_query() и, соответственно названию, позволяет делать именно то, что вам нужно. (Ну, не зря же он improved). Попробуйте переключиться на него с mysql.
|
23.06.2011, 21:31 | #9 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Два запроса к базе MySQL | mixer94 | PHP | 12 | 28.10.2010 18:44 |
Два запроса | MSD | БД в Delphi | 0 | 05.06.2010 18:59 |
не работает запрос на обновление для запроса на быборку | ww01031977 | Microsoft Office Access | 1 | 04.05.2010 18:08 |
два запроса, которые нужно объединить в один. | andrianov123 | БД в Delphi | 4 | 16.05.2008 16:06 |
Два запроса - один ExecSQL | EdNovice | БД в Delphi | 1 | 27.06.2007 17:33 |