Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Соединение с базой данных с помощью констант [2]

 PHP.SU

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


 Страниц (2): « 1 [2]   

> Описание: DB connected
phphtmlcss
Отправлено: 12 Марта, 2013 - 18:49:17
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


LIME пишет:
phphtmlcss пишет:
Я тебе разрешаю!
А книги, советую, читай!
все все ...я не могу больше смеяться...остановись
(Добавление)
esterio до такого бреда даже Попов не додумается
phphtmlcss а можно источник Ваших "знаний"? Безумно интересно!

Такой источник тебе читать не стоит! А то в клоуна превратишься, просто сморю ты <censored> ели остановился!


Отредактировано администратором: EuGen, 13 Марта, 2013 - 11:32:03
 
 Top
Vinyl
Отправлено: 12 Марта, 2013 - 18:58:19
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Рот до ушей Вот это информация!


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
esterio
Отправлено: 12 Марта, 2013 - 18:58:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




phphtmlcss
Так а на личние обиды не стоит переходит так как все тут Вас хотят на путь истинный наставить. Блин я щас тет бо быстромму сделаю и отпишусь.


Неужели интересная тема за неделю
 
 Top
sneakquie
Отправлено: 12 Марта, 2013 - 19:12:30
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Извиняюсь, если невнимательно читал тему и TC'y ответили.
PHP:
скопировать код в буфер обмена
  1. $dcb = mysql_connect(HOST, USER, PASS, DB) or die("ERROR connected to SERVER");
  2.  
  3. $query = "SELECT * FROM comment";
  4. mysql_query($dcb, $query);

В функции mysql_query() первым аргументом у Вас является указатель, вторым - сам код запроса. Нужно поменять их местами.

(Отредактировано автором: 12 Марта, 2013 - 19:14:30)

 
 Top
esterio
Отправлено: 12 Марта, 2013 - 19:22:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Итак результаты теста как я обещал

1. делаем структру таблицы
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `test` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `name` varchar(255) DEFAULT NULL,
  4.   PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8


2. код заполнения таблицы 100 000 записей
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function randWord()
  3. {
  4.         $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  5.         $count = rand(5, 15);
  6.         $str = '';
  7.         for ($i = 0; $i < $count; $i++)
  8.                 $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
  9.         return $str;
  10. }
  11. mysql_connect('localhost', 'root', '');
  12.  
  13. for($i = 0; $i < 100000; $i++)
  14.         mysql_query('INSERT INTO test SET name="'.randWord().'"');


3. делае стартовый запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"

Время 0.031 sec

Итак тест №1 - один раз откриваем базу
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3.  
  4. mysql_connect('localhost', 'root', '');
  5.  
  6. for($i = 0; $i < 100; $i++)
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.  
  9. echo round(microtime(true) - START_TIME, 4).' sec';


Время - 12.7408 sec

Тест №2
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3. for($i = 0; $i < 100; $i++)
  4. {
  5.         mysql_connect('localhost', 'root', '');
  6.         mysql_select_db('test');
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.         mysql_close();
  9. }
  10. echo round(microtime(true) - START_TIME, 4).' sec';

Время - 13.969 sec.

Итог подведите сами

П.С. более 100 запросов неудалось так как превишал лимит 30 сек на локале


echo round(microtime(true) - START_TIME, 4).' sec.';
 
 Top
phphtmlcss
Отправлено: 12 Марта, 2013 - 19:23:51
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


esterio пишет:
Итак результаты теста как я обещал

1. делаем структру таблицы
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `test` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `name` varchar(255) DEFAULT NULL,
  4.   PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8


2. код заполнения таблицы 100 000 записей
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function randWord()
  3. {
  4.         $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  5.         $count = rand(5, 15);
  6.         $str = '';
  7.         for ($i = 0; $i < $count; $i++)
  8.                 $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
  9.         return $str;
  10. }
  11. mysql_connect('localhost', 'root', '');
  12.  
  13. for($i = 0; $i < 100000; $i++)
  14.         mysql_query('INSERT INTO test SET name="'.randWord().'"');


3. делае стартовый запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"

Время 0.031 sec

Итак тест №1 - один раз откриваем базу
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3.  
  4. mysql_connect('localhost', 'root', '');
  5.  
  6. for($i = 0; $i < 100; $i++)
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.  
  9. echo round(microtime(true) - START_TIME, 4).' sec';


Время - 12.7408 sec

Тест №2
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3. for($i = 0; $i < 100; $i++)
  4. {
  5.         mysql_connect('localhost', 'root', '');
  6.         mysql_select_db('test');
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.         mysql_close();
  9. }
  10. echo round(microtime(true) - START_TIME, 4).' sec';

Время - 13.969 sec.

Итог подведите сами

П.С. более 100 запросов неудалось так как превишал лимит 30 сек на локале


echo round(microtime(true) - START_TIME, 4).' sec.';
Браво!
 
 Top
esterio
Отправлено: 12 Марта, 2013 - 19:25:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




не надо цитировать весь пост.


Сори не заметил у себя код внизу

(Отредактировано автором: 12 Марта, 2013 - 19:28:21)

 
 Top
phphtmlcss
Отправлено: 12 Марта, 2013 - 19:27:24
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


sneakquie пишет:
Извиняюсь, если невнимательно читал тему и TC'y ответили.
PHP:
скопировать код в буфер обмена
  1. $dcb = mysql_connect(HOST, USER, PASS, DB) or die("ERROR connected to SERVER");
  2.  
  3. $query = "SELECT * FROM comment";
  4. mysql_query($dcb, $query);

В функции mysql_query() первым аргументом у Вас является указатель, вторым - сам код запроса. Нужно поменять их местами.


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once './config.php';
  3.  
  4.  
  5. $dcb = mysqli_connect(HOST, USER, PASS, DB);
  6. $query = "SELECT * FROM `comment`";
  7. $result = mysqli_query($dcb, $query);
  8. while($row = mysqli_fetch_assoc($result)){
  9. echo $row['comment'];
  10. }
  11. ?>


Не решение было верно, все вот так работает!
Только кодировка не установлена!
 
 Top
esterio
Отправлено: 12 Марта, 2013 - 19:30:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Ну как хотите я вас переубеждать не стану. Мне ето не надо. Лишь замечу что вы уже под mysqli переписали Радость Радость Радость

(Отредактировано автором: 12 Марта, 2013 - 19:33:09)

 
 Top
sneakquie
Отправлено: 12 Марта, 2013 - 19:34:27
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Ну Вы даете. Не решение? А ничего, что в Ваших первых примерах и в первом сообщении использовалась функция mysql_query(), а в последнем сообщении - mysqli_query, а у них сигнатура то разная. В mysqli_query() первым аргументом идет указатель на БД, вторым - запрос, так что мое решение было верным, это уже Вы все перекрутили.

(Отредактировано автором: 12 Марта, 2013 - 19:35:14)

 
 Top
phphtmlcss
Отправлено: 12 Марта, 2013 - 19:44:00
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


esterio пишет:
Ну как хотите я вас переубеждать не стану. Мне ето не надо. Лишь замечу что вы уже под mysqli переписали Радость Радость Радость

А я против mysqli ни чего против и не имел!
(Добавление)
sneakquie пишет:
Ну Вы даете. Не решение? А ничего, что в Ваших первых примерах и в первом сообщении использовалась функция mysql_query(), а в последнем сообщении - mysqli_query, а у них сигнатура то разная. В mysqli_query() первым аргументом идет указатель на БД, вторым - запрос, так что мое решение было верным, это уже Вы все перекрутили.

А ну если так то спасибо вам!
 
 Top
Dark-def
Отправлено: 12 Марта, 2013 - 23:05:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




Цитата:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once './config.php';
  4. $dcb = mysql_connect(HOST, USER, PASS, DB) or die("ERROR connected to SERVER"); // соединение
  5. // запрос
  6. }
  7.  
  8.  
  9. mysql_close($dcb); // выход
  10. ?>
  11.  

а я то думал, как же к базе подключится... жаль не могу спасибо поставить Недовольство, огорчение Помог человек же! И книги почитать тоже, что бы я без него делал


-----
while(true); - // И пусть весь мир подождет
 
 Top
sKaa
Отправлено: 13 Марта, 2013 - 06:27:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]



Весело у вас тут) Весеннее обострение без объяснений ? Наплыв "Данилычей" ?)

Хотя мне и очень смешно, я посоветую, всё же, человеку с ником phphtmlcss, ознакомиться с паттерном "Singletone", и не для саморазвития, поскольку это он бы и без меня мог при желании откопать всё сам, благо гугл работает без перебоев, а с одной единственной целью, чтобы уважаемый, не давал больше глупых советов никому и никогда)

(Отредактировано автором: 13 Марта, 2013 - 06:35:19)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB