Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Двойной запрос mysql 
V
    Опции темы
NNaarreekk
Дата 25.4.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Есть запрос:
mysq_query("INSERT INTO `texts` ...");

Возможно ли что этот запрос выполнившись один раз добавил в базу две строки??

Из за чего может возникнуть такая проблема?

Запрос точно выполняется один раз!
PM MAIL WWW   Вверх
POLTER
Дата 25.4.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 25.8.2006
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Возможно insert происходил с использованием вложенных запросов.
Например, что-то типа:
Код

INSERT INTO `texts`
(SELECT col1 from `tbl1`)

Правда, не уверен на сто процентов, сработает ли это в MySQL, но в Oracle точно работает.
--------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают.
PM MAIL ICQ   Вверх
NNaarreekk
Дата 25.4.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(POLTER @  25.4.2008,  22:20 Найти цитируемый пост)
Возможно insert происходил с использованием вложенных запросов.


Врятле дело в этом.... 
Я больше склоняюсь к версии плохого сервера!
По твоему может быть из за этого??
потому-что сервер разок уже подвадил!
PM MAIL WWW   Вверх
POLTER
Дата 25.4.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 25.8.2006
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Ну все может быть, тогда получается что запрос просто выполняется несколько раз.
--------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают.
PM MAIL ICQ   Вверх
NNaarreekk
Дата 25.4.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Просто интересно бывало и такое у других, или это мое больное воображение smile 
PM MAIL WWW   Вверх
Fortop
Дата 25.4.2008, 23:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(NNaarreekk @  25.4.2008,  22:02 Найти цитируемый пост)
Просто интересно бывало и такое у других, или это мое больное воображение

На самом деле корни могут расти совсем из другого места.

Например, двойной submit страницы. Т.е. INSERT у тебя может и один smile но скрипт вызывался два раза (к примеру по F5)


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 26.4.2008, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



NNaarreekk, без приведения всего кода невозможно дать ответ.
Скажу одно точно - то что ты написал может срабатывать только 1 раз )
PM MAIL WWW ICQ Skype   Вверх
zibox86
Дата 26.4.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 11.12.2007

Репутация: нет
Всего: 1



Требуем код скрипта!

Это сообщение отредактировал(а) zibox86 - 26.4.2008, 13:27
PM MAIL WWW   Вверх
POLTER
Дата 26.4.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 25.8.2006
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Цитата

Например, двойной submit страницы.

Ну на это я вначале подумал, но топикстартер вроде ясно написал, что запрос выполнялся только 1 раз.

Добавлено через 1 минуту и 29 секунд
Цитата

Скажу одно точно - то что ты написал может срабатывать только 1 раз )

Ну почему, если там вложенный запрос, то сколько угодно раз (см. мой первый пост).

Добавлено через 9 минут и 27 секунд
Кстати, проверил сейчас. Работает отлично, можно таким образом хоть сто записей за раз добавить.
--------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают.
PM MAIL ICQ   Вверх
Fortop
Дата 26.4.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(POLTER @  26.4.2008,  13:40 Найти цитируемый пост)
Ну на это я вначале подумал, но топикстартер вроде ясно написал, что запрос выполнялся только 1 раз.

Написал он может и ясно smile но поскольку лога обращения к скрипту он не предоставил, то верить этому сложно smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
POLTER
Дата 26.4.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 25.8.2006
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Вообще да, лог сервера не помешал бы. Ждемс..
--------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают.
PM MAIL ICQ   Вверх
NNaarreekk
Дата 27.4.2008, 01:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(awers @  26.4.2008,  03:41 Найти цитируемый пост)
NNaarreekk, без приведения всего кода невозможно дать ответ.

Вот запрос!
Код

INSERT INTO `texts` ( `razdel` , `foto1` , `foto2` , `foto3` , `date1` , `date2` , `name_rus` , `name_eng` , `zagolovok_rus` , `zagolovok_eng` , `text_rus` , `text_eng` , `ochki` ) 
VALUES ('$allrazdel', '$upfile11[1]', '$upfile12[1]', '$upfile13[1]', '$date1', '$date2', '$author_rus', '$author_eng', '$zagolovok_rus', '$zagolovok_eng', '$html_1', '$html_2', '$ochki')


Цитата(POLTER @  26.4.2008,  16:41 Найти цитируемый пост)
Вообще да, лог сервера не помешал бы. Ждемс

А что это? smile
PM MAIL WWW   Вверх
awers
Дата 27.4.2008, 04:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



NNaarreekk, не.... приведи весь скрипт .. с запросом мне во всяком случае все было понятно. либо у тебя этот участок кода вызывается два раза, либо ты слишком любишь ф5 тыкать )
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 27.4.2008, 07:50 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Эта проблема из тех, которые отловить можно только в том случае, когда очень хорошо разбираешься в том, что делаешь =)

PM   Вверх
NNaarreekk
Дата 27.4.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(awers @  27.4.2008,  06:14 Найти цитируемый пост)
NNaarreekk, не.... приведи весь скрипт .. с запросом мне во всяком случае все было понятно. либо у тебя этот участок кода вызывается два раза, либо ты слишком любишь ф5 тыкать ) 

У меня эта проблема не появляется, ток у узера бывает!:(
Но я специально спрашивал, он сказал что ни в одном случае на рефреш не нажимал!

Вот код, но врятле из за этого:
Код

    if (!empty($udlt1)){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $fotoy=mysql_result($result_0,0,'foto1');
    if (!empty($fotoy))
    if (file_exists("../pics/$fotoy"))unlink("../pics/$fotoy");
    mysql_query("UPDATE texts SET foto1='' WHERE id='$id'");
    }
    if (!empty($udlt2)){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $fotoy=mysql_result($result_0,0,'foto2');
    if (!empty($fotoy))
    if (file_exists("../pics/$fotoy"))unlink("../pics/$fotoy");
    mysql_query("UPDATE texts SET foto2='' WHERE id='$id'");
    }
    if (!empty($udlt3)){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $fotoy=mysql_result($result_0,0,'foto3');
    if (!empty($fotoy))
    if (file_exists("../pics/$fotoy"))unlink("../pics/$fotoy");
    mysql_query("UPDATE texts SET foto3='' WHERE id='$id'");
    }
//FOTO 1
if(!empty($HTTP_POST_FILES['pic1']['name']))
{
    if ($action=="edit"){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $foto61=mysql_result($result_0,0,'foto1');
    if (!empty($foto61))
    if (file_exists("../pics/$foto61"))unlink("../pics/$foto61");
    }
 $nkar = $HTTP_POST_FILES['pic1']['tmp_name'];
 $nkar_name = $HTTP_POST_FILES['pic1']['name'];
 $nkar_size = $HTTP_POST_FILES['pic1']['size'];
 $nkar_type = $HTTP_POST_FILES['pic1']['type'];
 $nkar_error = $HTTP_POST_FILES['pic1']['error'];
if ($nkar_error > 0)
  {
    echo 'Problem: ';
    switch ($nkar_error)
    {
      case 1:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 2:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 3:  echo 'Загрузка файла произошла частично!<br>';  break;
      case 4:  echo 'Файл не загружен!<br>';  break;
    }
    exit;
  }
    $upfile11[1]=date("U").$nkar_name;
    $upfile1[1]='../pics/'.$upfile11[1];
   if (is_uploaded_file($nkar)) 
  {
     if (!move_uploaded_file($nkar, $upfile1[1]))
     {
        echo 'Проблема: Невозможно перенести файл!<br>';
        exit;
     }
  } 
  else 
  {
    echo 'Problem: Possible file upload attack. Filename: '.$nkar_name;
    exit;}}
    
//FOTO 2
if(!empty($HTTP_POST_FILES['pic2']['name']))
{
    if ($action=="edit"){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $foto62=mysql_result($result_0,0,'foto2');
    if (!empty($foto62))
    if (file_exists("../pics/$foto62"))unlink("../pics/$foto62");
    }
 $nkar = $HTTP_POST_FILES['pic2']['tmp_name'];
 $nkar_name = $HTTP_POST_FILES['pic2']['name'];
 $nkar_size = $HTTP_POST_FILES['pic2']['size'];
 $nkar_type = $HTTP_POST_FILES['pic2']['type'];
 $nkar_error = $HTTP_POST_FILES['pic2']['error'];
if ($nkar_error > 0)
  {
    echo 'Problem: ';
    switch ($nkar_error)
    {
      case 1:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 2:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 3:  echo 'Загрузка файла произошла частично!<br>';  break;
      case 4:  echo 'Файл не загружен!<br>';  break;
    }
    exit;
  }
    $upfile12[1]=date("U").$nkar_name;
    $upfile2[1]='../pics/'.$upfile12[1];
   if (is_uploaded_file($nkar)) 
  {
     if (!move_uploaded_file($nkar, $upfile2[1]))
     {
        echo 'Проблема: Невозможно перенести файл!<br>';
        exit;
     }
  } 
  else 
  {
    echo 'Problem: Possible file upload attack. Filename: '.$nkar_name;
    exit;}}
    
//FOTO 3
if(!empty($HTTP_POST_FILES['pic3']['name']))
{
    if ($action=="edit"){
    $result_0=mysql_query("SELECT * FROM texts WHERE id=$id");
    $foto63=mysql_result($result_0,0,'foto3');
    if (!empty($foto63))
    if (file_exists("../pics/$foto63"))unlink("../pics/$foto63");
    }
 $nkar = $HTTP_POST_FILES['pic3']['tmp_name'];
 $nkar_name = $HTTP_POST_FILES['pic3']['name'];
 $nkar_size = $HTTP_POST_FILES['pic3']['size'];
 $nkar_type = $HTTP_POST_FILES['pic3']['type'];
 $nkar_error = $HTTP_POST_FILES['pic3']['error'];
if ($nkar_error > 0)
  {
    echo 'Problem: ';
    switch ($nkar_error)
    {
      case 1:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 2:  echo 'Размеры файла превосходит предельно возможные!<br>';  break;
      case 3:  echo 'Загрузка файла произошла частично!<br>';  break;
      case 4:  echo 'Файл не загружен!<br>';  break;
    }
    exit;
  }
    $upfile13[1]=date("U").$nkar_name;
    $upfile3[1]='../pics/'.$upfile13[1];
   if (is_uploaded_file($nkar)) 
  {
     if (!move_uploaded_file($nkar, $upfile3[1]))
     {
        echo 'Проблема: Невозможно перенести файл!<br>';
        exit;
     }
  } 
  else 
  {
    echo 'Problem: Possible file upload attack. Filename: '.$nkar_name;
    exit;}}
$razdel=$_POST['razdel'];
for ($i=1;$i<=13;$i++){
if (!empty($razdel[$i]))$allrazdel.="/$i";
}
if (empty($allrazdel))$allrazdel="/1";
//echo$allrazdel;
$date1=$_POST['date1'];
$date_t=explode("/",$date1);
$date2=$date_t[2]."/".$date_t[1]."/".$date_t[0];
$zagolovok_rus=$_POST['zagolovok_rus'];
$zagolovok_eng=$_POST['zagolovok_eng'];


$author_rus=$_POST['author_rus'];
$author_eng=$_POST['author_eng'];

$ochki=$_POST['ochki'];
if ($action=="edit"){
mysql_query("UPDATE `texts` SET razdel='$allrazdel' WHERE id='$id'");
if (!empty($upfile11[1]))mysql_query("UPDATE texts SET foto1='$upfile11[1]' WHERE `id`='$id'");
if (!empty($upfile12[1]))mysql_query("UPDATE texts SET foto2='$upfile12[1]' WHERE `id`='$id'");
if (!empty($upfile13[1]))mysql_query("UPDATE texts SET foto3='$upfile13[1]' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `date1`='$date1' WHERE id='$id'");
mysql_query("UPDATE `texts` SET `date2`='$date2' WHERE id='$id'");
mysql_query("UPDATE `texts` SET `name_rus`='$author_rus' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `name_eng`='$author_eng' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `zagolovok_rus`='$zagolovok_rus' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `zagolovok_eng`='$zagolovok_eng' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `text_rus`='$html_1' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `text_eng`='$html_2' WHERE `id`='$id'");
mysql_query("UPDATE `texts` SET `ochki`='$ochki' WHERE `id`='$id'");
echo $blag;}
else {

//echo mysql_client_encoding();
if (mysql_query("INSERT INTO `texts` ( `razdel` , `foto1` , `foto2` , `foto3` , `date1` , `date2` , `name_rus` , `name_eng` , `zagolovok_rus` , `zagolovok_eng` ,  `text_rus` , `text_eng` , `ochki` ) 
VALUES ('$allrazdel', '$upfile11[1]', '$upfile12[1]', '$upfile13[1]', '$date1', '$date2', '$author_rus', '$author_eng', '$zagolovok_rus', '$zagolovok_eng', '$html_1', '$html_2', '$ochki')")){

//BACKUP
$backuptext='';
$backuptext.="$allrazdel";
$backuptext.="|||$upfile11[1]|||$upfile12[1]|||$upfile13[1]";
$backuptext.="|||$date1|||$date2";
$backuptext.="|||$author_rus|||$author_eng";
$zagolovok_rus=str_replace("\n","",$zagolovok_rus);
$zagolovok_rus=str_replace("\r","",$zagolovok_rus);
$zagolovok_eng=str_replace("\n","",$zagolovok_eng);
$zagolovok_eng=str_replace("\r","",$zagolovok_eng);
$backuptext.="|||$zagolovok_rus|||$zagolovok_eng";
$html_1=str_replace("\n","",$html_1);
$html_1=str_replace("\r","",$html_1);
$html_2=str_replace("\n","",$html_2);
$html_2=str_replace("\r","",$html_2);
$backuptext.="|||$html_1|||$html_2\n";
//$backuptext.="|||$ochki";
$fp=fopen("backup/backup.txt","a+");
fwrite($fp,$backuptext);
fclose($fp);
//BACKUP END
echo "ОК";}
else die(mysql_error());
}



Цитата(Feldmarschall @  27.4.2008,  09:50 Найти цитируемый пост)
Эта проблема из тех, которые отловить можно только в том случае, когда очень хорошо разбираешься в том, что делаешь =)

Если ты имел ввиду что я плохой программист, то ты не прав! Я вообще не программист, я - физик smile  smile  smile 
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.