PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (16): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец

> Найдено сообщений: 238
Dezmont Отправлено: 06 Марта, 2012 - 09:37:15 • Тема: Запрос из таблицы INFORMATION_SCHEMA • Форум: Вопросы новичков

Ответов: 6
Просмотров: 427
EuGen, в mysql.exe показывает время выборки 0.06. Время выполнения куска LABLE_1 - LABLE_2 составляет 0.09 сек. Части LABLE_2 - LABLE_3 составляет 0.0025 сек. Так почему, даже при однократном вызове всей функции время выполнения становится равным 0,8 сек? Я проверял многократные SELECT запросы из разных таблиц, которые созданы мной, в них нормально. Адекватное время выполнения скрипта. А тут так сильно увеличивается.

Причём, если я меняю местами куски LABLE_1-LABLE_2 c LABLE_2_LABLE_3, то скрипт выполняется 0.09 сек.
PHP:
скопировать код в буфер обмена
  1. function draw_table(){
  2.  
  3.        
  4.         $query_2 = '
  5.         SELECT *
  6.                 FROM mydb.contragent LIMIT 1
  7.         ';
  8.         $zapros_2 = mysql_query($query_2) or die(mysql_error());
  9.         while($array_2 = mysql_fetch_assoc($zapros_2)){
  10.                 $massiv_2[] = $array_2;
  11.         }
  12.         $tablica = '<table><tr>';
  13.         for($i = 0; $i < mysql_num_fields($zapros_2); ++$i){
  14.                 $table = mysql_field_table($zapros_2,$i);
  15.                 $name = mysql_field_name($zapros_2,$i);
  16.                 $tablica .= '<td>'.$super[$table][$name].'</td>';
  17.         }
  18.         $tablica .= '</tr></table>';
  19.         echo $tablica;
  20.         $query = '
  21.         SELECT column_name,table_name,column_comment
  22.                 FROM information_schema.columns
  23.                 WHERE table_schema = \''.DB_NAME.'\' ORDER BY ORDINAL_POSITION
  24.         ';
  25.         $zapros = mysql_query($query) or die(mysql_error());
  26.         while($array = mysql_fetch_assoc($zapros)){
  27.                 $massiv[$array['table_name']][$array['column_name']] = $array['column_comment'];
  28.        
  29.         }
  30. }

Вот так 0.09 сек. В первом случае 0,8 сек.

Абсолютно любой запрос ПОСЛЕ следующего, в 5 раз увеличивает время выполнения скрипта.
PHP:
скопировать код в буфер обмена
  1. $query = '
  2.         SELECT column_name,table_name,column_comment
  3.                 FROM information_schema.columns
  4.                 WHERE table_schema = \''.DB_NAME.'\' ORDER BY ORDINAL_POSITION
  5.         ';
  6.         $zapros = mysql_query($query) or die(mysql_error());

Сам этот запрос увеличивает время выполнения на 0,09. Но это ещё терпимо. А вот 0.7-0.8 сек это уже очень долго...=(((

EuGen, может я чего-то не понял из вашего ответа. Подскажите как выкрутиться?
Dezmont Отправлено: 06 Марта, 2012 - 08:56:24 • Тема: Помогите с MySQL и PHP • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3585
snikers987 пишет:
Dezmont пишет:
snikers987, ничего страшного ведь не случится? Я просто дополнил код по ходу. ctrl+c, ctrl+v в конец и он работает.

А зачем создавать переменные $un,$pas?

Он не может работать, mysql_real_escape_string() его 'сломала', нужно содержимое переменных экранировать, а не весь запрос.


Что-то шарик за ролик, извините. Проэкранировал кавычки...
Dezmont Отправлено: 06 Марта, 2012 - 08:46:32 • Тема: Помогите с MySQL и PHP • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3585
improbable, я вам скинул рабочий вариант. Зачем вы исправляете на неверный?

Строку можно даже в Gogle вставить, он вам переведёт. Error in SQL Syntax.

$un заключите в одинарные кавычки '$un'
Dezmont Отправлено: 06 Марта, 2012 - 08:42:10 • Тема: Помогите с MySQL и PHP • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3585
snikers987, ничего страшного ведь не случится? Я просто дополнил код по ходу. ctrl+c, ctrl+v в конец и он работает.

А зачем создавать переменные $un,$pas?
Dezmont Отправлено: 06 Марта, 2012 - 08:04:54 • Тема: Помогите с MySQL и PHP • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3585
Если у вас скрипт выглядит так, как вы описали, то никакого else не надо. Если пароли не совпадают, die() остановит выполнение скрипта и выведет сообщение об ошибке. Если пароли совпадут, выполнение скрипта продолжится после блока if.
Dezmont Отправлено: 06 Марта, 2012 - 08:00:51 • Тема: Помогите с MySQL и PHP • Форум: Работа с СУБД

Ответов: 15
Просмотров: 3585
PHP:
скопировать код в буфер обмена
  1. $password = mysql_query($act) or die(mysql_error());
  2. $array = mysql_fetch_assoc($password);
  3. if($_POST['password'] !== $array['password']){
  4.    die('Incorrect password.');
  5. }
  6. // Выполняете ваш скрипт если пароли совпадают.

Сравнение жёсткое, поэтому должен совпадать тип данных.
Dezmont Отправлено: 06 Марта, 2012 - 07:46:12 • Тема: Запрос из таблицы INFORMATION_SCHEMA • Форум: Вопросы новичков

Ответов: 6
Просмотров: 427
LIME, это не подходит. Убирал, пробовал, но ничего не меняется. MySQL вроде нормально понимает, когда при использовании оной БД обращаются к другой.

Закомментировал код от LABLE_2 до LABLE_3. При единичном вызове функции draw_table() времы выполнения около 0,09сек. Но при вызове 2 и более раз, сразу увеличивается до 0,85. Причём два вызова 0,85. 10 вызовов тоже 0,85. Может чть-чуть больше...=/

Я так думаю, что дело в самом PHP. В mysql.exe запросы выполняются с нормальной скоростью.
Есть ещё предположения?
Dezmont Отправлено: 05 Марта, 2012 - 23:23:46 • Тема: Аутентификация на php • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1660
improbable пишет:
и еще, у меня есть база данных с именем a4496227_data, юзером a4496227_user, паролем pass, хостом mysql12.000webhost.com . как к ней подключиться?
(Добавление)
ответьте ктонить


Читайте Мануал, классная штука. Там на самом деле есть все ответы. =)

Мануал

PHP:
скопировать код в буфер обмена
  1. mysql_connect('mysql12.000webhost.com','a4496227_user','pass')
  2. or die('Could not connection: '.mysql_error()); // Подключение
  3. mysql_select_db('a4496227_data')
  4. or die('The database isn`t selected: '.mysql_error());// Выбор БД
Dezmont Отправлено: 05 Марта, 2012 - 23:11:44 • Тема: Запрос из таблицы INFORMATION_SCHEMA • Форум: Вопросы новичков

Ответов: 6
Просмотров: 427
Ап. Может кто-нибудь хотя бы даст пинок в верном направлении?
Dezmont Отправлено: 05 Марта, 2012 - 17:34:52 • Тема: Запрос из таблицы INFORMATION_SCHEMA • Форум: Вопросы новичков

Ответов: 6
Просмотров: 427
Подскажите пожалуйста, почему при выборке из information_schema у меня очень долго выполняется скрипт?

PHP:
скопировать код в буфер обмена
  1.  
  2. define('DB_HOST','localhost');
  3. define('DB_USER','root');
  4. define('DB_NAME','mydb');
  5. mysql_connect(DB_HOST,DB_USER) or die('Connection error: '.mysql_error());
  6. mysql_select_db(DB_NAME) or die('Failed to select database: '.mysql_error());
  7.  
  8. ########################################################################################
  9.  
  10. function draw_table(){
  11. // LABLE_1
  12.         $query = '
  13.         SELECT column_name,table_name,column_comment
  14.                 FROM information_schema.columns
  15.                 WHERE table_schema = \''.DB_NAME.'\' ORDER BY ORDINAL_POSITION
  16.         ';
  17.         $zapros = mysql_query($query) or die(mysql_error());
  18.         while($array = mysql_fetch_assoc($zapros)){
  19.                 $massiv[$array['table_name']][$array['column_name']] = $array['column_comment'];
  20.         }
  21. //LABLE_2
  22.         $query_2 = '
  23.         SELECT *
  24.                 FROM contragent LIMIT 1
  25.         ';
  26.         $zapros_2 = mysql_query($query_2) or die(mysql_error());
  27.         while($array_2 = mysql_fetch_assoc($zapros_2)){
  28.                 $massiv_2[] = $array_2;
  29.         }
  30.         $tablica = '<table><tr>';
  31.         for($i = 0; $i < mysql_num_fields($zapros_2); ++$i){
  32.                 $table = mysql_field_table($zapros_2,$i);
  33.                 $name = mysql_field_name($zapros_2,$i);
  34.         }
  35.         $tablica .= '</tr></table>';
  36.         echo $tablica;
  37. LABLE_3;
  38. }
  39. draw_table();
  40.  
  41.  


Среднее время выполнения скрипта 0.85 сек. Если убрать кусок кода c LABLE_1 до LABLE_2, то скрипт выполняется за 0,0025 сек.

В mysql.exe запрос $query занимает 0.09 сек. Возвращает он порядка 100 строк. Вроде не должно так долго работать, но я чёт даже не знаю куда копать. Подскажите пожалуйста.
Dezmont Отправлено: 29 Февраля, 2012 - 10:26:28 • Тема: Многомерный массив • Форум: Вопросы новичков

Ответов: 6
Просмотров: 269
Какие регулярные выражения? Вы сами выводите строку, состоящую из переменных, а потом собираетесь разбирать эту же строку с ЭТИМИ же переменными через регулярное выражение?
Ваши значения уже находятся в цикле в $v6. Вам осталось только определиться, что именно вам нужно.
Dezmont Отправлено: 28 Февраля, 2012 - 14:08:01 • Тема: Косяк с запросом в базу. • Форум: Вопросы новичков

Ответов: 7
Просмотров: 287
К Notice можно попробовать и прислушаться. Он плохого не посоветует...Улыбка
Dezmont Отправлено: 28 Февраля, 2012 - 14:06:28 • Тема: Скрипт поиска по тегам • Форум: Вопросы новичков

Ответов: 1
Просмотров: 168
Реализация тегов на сайте
Dezmont Отправлено: 28 Февраля, 2012 - 11:33:45 • Тема: Проблема кодировки Notepad++/MySQL • Форум: Вопросы новичков

Ответов: 8
Просмотров: 368
snikers987, оп-па))) Огромное спасибо. А я всё думал как по умолчанию настроить)))
Dezmont Отправлено: 28 Февраля, 2012 - 10:18:13 • Тема: Проблема кодировки Notepad++/MySQL • Форум: Вопросы новичков

Ответов: 8
Просмотров: 368
snikers987, да... Как он меня уже бесит. Постоянно какое-нибудь западло делает мне)))

Сборку бы поставил, да не очень удобно. Поэтому таскаю денвер на флешке (((

А XAMPP Portable никто не пробовал?

Страниц (16): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB