The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"PHP + MySQL doublequery"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"PHP + MySQL doublequery"
Сообщение от melco Искать по авторуВ закладки(ok) on 11-Ноя-04, 16:57  (MSK)
Уважаемые посетители форум. Я в PHP написал

$query="...................................";
echo $query."<br>";
$result=mysql_query($query) or die ("oh fuck!!!");
while ($row=mysql_fetch_array($result)){$blablabla=$row["LAST_INSERT_ID()"];}

Результат исполнения скрипта

INSERT INTO users (`id`,`FIO`,`group`,`predmet`,`nomer_zach`,`easyall`,`normall`,`hardall`,`time`,`date`,`mark_maxU`) VALUES(NULL,'','','44','','10','0','0','15:47','04.11.11','100'); SELECT LAST_INSERT_ID();
oh fuck!!!

Копирую запрос, вставляю в phpMyadmin, и что вы думаете... он отрабатывает как нада...
В чем же дело?? Тут только так мою задачу можна решить (если не через задницу)...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "PHP + MySQL doublequery"
Сообщение от Vladislav Lazarenko emailИскать по авторуВ закладки on 11-Ноя-04, 18:17  (MSK)
>Уважаемые посетители форум. Я в PHP написал
>
>$query="...................................";
>echo $query."<br>";
>$result=mysql_query($query) or die ("oh fuck!!!");
>while ($row=mysql_fetch_array($result)){$blablabla=$row["LAST_INSERT_ID()"];}
>
>Результат исполнения скрипта
>
>INSERT INTO users (`id`,`FIO`,`group`,`predmet`,`nomer_zach`,`easyall`,`normall`,`hardall`,`time`,`date`,`mark_maxU`) VALUES(NULL,'','','44','','10','0','0','15:47','04.11.11','100'); SELECT LAST_INSERT_ID();
>oh fuck!!!
>
>Копирую запрос, вставляю в phpMyadmin, и что вы думаете... он отрабатывает как
>нада...
>В чем же дело?? Тут только так мою задачу можна решить (если
>не через задницу)...

PhpMyAdmin прохавывает разделение запросов двоеточием и просто выполняет последовательно два запроса.
mysql_query - это функция выполняющая 1 запрос за 1 раз.

Take care!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "PHP + MySQL doublequery"
Сообщение от melco Искать по авторуВ закладки(??) on 11-Ноя-04, 22:50  (MSK)
>>Уважаемые посетители форум. Я в PHP написал
>>
>>$query="...................................";
>>echo $query."<br>";
>>$result=mysql_query($query) or die ("oh fuck!!!");
>>while ($row=mysql_fetch_array($result)){$blablabla=$row["LAST_INSERT_ID()"];}
>>
>>Результат исполнения скрипта
>>
>>INSERT INTO users (`id`,`FIO`,`group`,`predmet`,`nomer_zach`,`easyall`,`normall`,`hardall`,`time`,`date`,`mark_maxU`) VALUES(NULL,'','','44','','10','0','0','15:47','04.11.11','100'); SELECT LAST_INSERT_ID();
>>oh fuck!!!
>>
>>Копирую запрос, вставляю в phpMyadmin, и что вы думаете... он отрабатывает как
>>нада...
>>В чем же дело?? Тут только так мою задачу можна решить (если
>>не через задницу)...
>
>PhpMyAdmin прохавывает разделение запросов двоеточием и просто выполняет последовательно два запроса.
>mysql_query - это функция выполняющая 1 запрос за 1 раз.
>
>Take care!

На сколько я понимаю, то mysql_query только посылает запрос в базу данных... просто как строку, и никак синтаксис не разбирает..... phpMyadmin тоже.... синтаксис с точками с запятыми разбирает сама маскаль.

Имхо если бы phpMyAdmin разбивал это дело на два запрос, то LAST_INSERT_ID() был бы !!! 0 !!!, а при последовательном запросе (через ; ) он не равен 0.

Думаю ты не прав.  

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "PHP + MySQL doublequery"
Сообщение от Vladislav Lazarenko emailИскать по авторуВ закладки on 11-Ноя-04, 22:52  (MSK)
Думай-думай, мускуль за одну итерацию более одного запроса не выполняет. По крайней мере так было тогда, когда я с ним работал.
И к тому же, ка ты объяснишь то, что ничерта у тебя нер аботает? :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "PHP + MySQL doublequery"
Сообщение от melco Искать по авторуВ закладки(??) on 11-Ноя-04, 23:29  (MSK)
>Думай-думай, мускуль за одну итерацию более одного запроса не выполняет. По крайней
>мере так было тогда, когда я с ним работал.
>И к тому же, ка ты объяснишь то, что ничерта у тебя
>нер аботает? :)

Ну вот выполни последовательно два запроса:
INSERT ........;
SELECT LAST_INSERT_ID();

И ты увидиш в последнем 0, хотя id последнего может быть и не 0.
Дело в том, что phpMyAdmin выдает правильный id.
Вопрос собственно как взять этот правильный id в php переменную, а не в том, как что работает.

Благодарен за помощ.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "PHP + MySQL doublequery"
Сообщение от Vladislav Lazarenko emailИскать по авторуВ закладки on 11-Ноя-04, 23:58  (MSK)
>>Думай-думай, мускуль за одну итерацию более одного запроса не выполняет. По крайней
>>мере так было тогда, когда я с ним работал.
>>И к тому же, ка ты объяснишь то, что ничерта у тебя
>>нер аботает? :)
>
>Ну вот выполни последовательно два запроса:
>INSERT ........;
>SELECT LAST_INSERT_ID();
>
>И ты увидиш в последнем 0, хотя id последнего может быть и
>не 0.
>Дело в том, что phpMyAdmin выдает правильный id.
>Вопрос собственно как взять этот правильный id в php переменную, а не
>в том, как что работает.
>
>Благодарен за помощ.

А на этот вопрос я ведь тебе уже отвечал.
Есть у MySQL процедурный язык. По типу как у всех нормальных СУБД типа Cache или Oracle с Sybase'ом.
Раньше доки по нему лежали на www.mysql.com/doc/en
Куда их теперь сдвинули - не знаю.

В solution простой, запоминаешь то, что тебе надо с пом. переменной) и ВСЕ

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "PHP + MySQL doublequery"
Сообщение от Simps Искать по авторуВ закладки(ok) on 15-Ноя-04, 09:55  (MSK)
>>>Думай-думай, мускуль за одну итерацию более одного запроса не выполняет. По крайней
>>>мере так было тогда, когда я с ним работал.
>>>И к тому же, ка ты объяснишь то, что ничерта у тебя
>>>нер аботает? :)
>>
>>Ну вот выполни последовательно два запроса:
>>INSERT ........;
>>SELECT LAST_INSERT_ID();
>>
>>И ты увидиш в последнем 0, хотя id последнего может быть и
>>не 0.
>>Дело в том, что phpMyAdmin выдает правильный id.
>>Вопрос собственно как взять этот правильный id в php переменную, а не
>>в том, как что работает.
>>
>>Благодарен за помощ.
>
>А на этот вопрос я ведь тебе уже отвечал.
>Есть у MySQL процедурный язык. По типу как у всех нормальных СУБД
>типа Cache или Oracle с Sybase'ом.
>Раньше доки по нему лежали на www.mysql.com/doc/en
>Куда их теперь сдвинули - не знаю.
>
>В solution простой, запоминаешь то, что тебе надо с пом. переменной) и
>ВСЕ

$query = "INSERT INTO `table` VALUES ('xxx','yyy','zzz')";
mysql_query($query);
$lastId = mysql_insert_id();

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру