Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: выполнение множества запросов

Сообщения:  [1-10]   [11-11] 

 
 автор: Денис   (21.09.2005 в 14:13)   письмо автору
 
   для: Денис   (21.09.2005 в 12:42)
 

все получилось, работает. спасибо за помощь

   
 
 автор: Денис   (21.09.2005 в 12:42)   письмо автору
 
   для: cheops   (21.09.2005 в 01:26)
 

у меня пока не получается выполнить запрос select. на запрос "SELECT * FROM 'tableau61;' WHERE 1" выводится предупреждение: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

   
 
 автор: cheops   (21.09.2005 в 01:26)   письмо автору
 
   для: Денис   (20.09.2005 в 20:44)
 

> добавить возможность выборки
Это как?

   
 
 автор: Денис   (20.09.2005 в 20:44)   письмо автору
 
   для: cheops   (19.09.2005 в 19:36)
 

работает! :-). теперь все добавляет и удаляет. осталась одна задача - добавить возможность выборки

   
 
 автор: Денис   (20.09.2005 в 16:05)   письмо автору
 
   для: cheops   (19.09.2005 в 19:36)
 

Все равно, что-то работает не так, как надо. Я заменил строку "$query = explode(";", $query); " на "$query = preg_split("#\);\r\n|M;\r\n#i", $query);" - ошибка та же. Понимаете, она то ли не обрезает пустые символы, то ли не может определить пробелы, потому что указывает все время на одну и ту же строку в запросе(позиция в строке, где стоит ; потом идет пробел или переход на другую строку и потом идет новый запрос create table... - вот именно на это место и указывает). Я ж ведь перед подачей в базу запроса обрезаю пустые места слева и справа - и все равно не понимает.Скорее всего, весь блок запросов видит как один цельный блок и обрезает пробелы в начале и в конце блока.

   
 
 автор: cheops   (19.09.2005 в 19:36)   письмо автору
 
   для: Денис   (19.09.2005 в 13:44)
 

Попробуйте разбивать выражение по регулярному выражению при помощи функции preg_split() как это описано в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1407.

   
 
 автор: Денис   (19.09.2005 в 13:44)   письмо автору
 
   для: cheops   (19.09.2005 в 13:24)
 

ну изначально это было так:

if($REQUEST_METHOD=="POST")
{
    $query = stripslashes(rtrim($query));
    $query = explode(";", $query);
    unset($query[sizeof($query) - 1]);
      //echo stripslashes($query);
      if(tep_db_query($query))
      {
        echo "Your SQL-query has been executed successfully";
      }
}

Но, как я уже говорил, это работает только(!) на один запрос и только если после него не будет пробела :-). этот вариант не подходит

   
 
 автор: cheops   (19.09.2005 в 13:24)   письмо автору
 
   для: Денис   (19.09.2005 в 12:59)
 

А как вы разбиваете содержимое тектовой области на отдельные запросы, перед тем как скормить их mysql_query(), которая может обрабатывать только один запрос?

   
 
 автор: Денис   (19.09.2005 в 12:59)   письмо автору
 
   для: cheops   (16.09.2005 в 20:13)
 

у меня есть форма и текстовое окно <textarea>, где помещаю свой запрос. При выполнении
одного запроса, скажем CREATE TABLE forum (...); - запрос выполняется успешно. если ставлю пробел после ); - сообщает
об ошибке, хотя перед тем, как выполнить запрос, делаю $query = stripslashes(rtrim($query));. И потому, когда ставлю
еще один запрос, следом за первым - он также не выполняется, фиксируя ту же ошибку. Можно обойти этот вариант? и как решить
решить проблему с символами ); и ; ?

   
 
 автор: cheops   (16.09.2005 в 20:13)   письмо автору
 
   для: Денис   (16.09.2005 в 19:41)
 

Вы хотите разобрать дамп? Нет в середине запросов ; тоже вполне может втретится, например в тексте данного сообщения, который тоже попадает в базу данных. Обычно запросы завершаются ); но имеются исключения, например определения таблиц и т.п.

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования