PHP.SU

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

Страниц (5): « 1 2 3 [4] 5 »

> Найдено сообщений: 67
Crowley Отправлено: 07 Февраля, 2014 - 14:00:14 • Тема: Поиск строки в MySQL • Форум: Вопросы новичков

Ответов: 2
Просмотров: 138
Так же не работает поиск в phpMyAdmin. Пробовал искать по регулярке, %LIKE% и "=".
41,000,000 строк в базе.
Сайт стоит на выделенном сервере(ОЗУ - 1 гб, ОС - линь), и собственно, кроме базы и пары скриптов на нем ничего нету.
Crowley Отправлено: 06 Февраля, 2014 - 21:08:03 • Тема: Поиск строки в MySQL • Форум: Вопросы новичков

Ответов: 2
Просмотров: 138
Нужно произвести поиск переменной $mail в БД "MailBase", в таблице "mailstable",в колонке "mails".
Индексы стоят. Следующий код не работает(На экран ничего не выводит) :
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $mail = $_POST['mail'];
  4. $server = "localhost";
  5. $user = "123";
  6. $password = "432423342";
  7. $db = "MailBase";
  8. if(!mysql_connect($server, $user, $password))
  9. {
  10. echo "Ошибка подключения(Неправильный адрес хоста и(или) логин и(или) пароль.)";
  11. }
  12. else
  13. {
  14. if(!mysql_select_db($db))
  15. {
  16. echo "Ошибка подключения(Неправильное имя базы данных).";
  17. }
  18. else
  19. {
  20. $query = mysql_query("SELECT * FROM `mailstable` AS t WHERE `mails` = {$mail} ORDER BY `id` ASC");
  21. while($sql_res = mysql_fetch_array($query))
  22. {
  23.     if($mail == $sql_res['mail'])
  24.         echo "$mail = Yes";
  25.     else
  26.         echo "$mail = No";
  27. }
  28. }
  29. }
  30. ?>
  31.  
Crowley Отправлено: 05 Февраля, 2014 - 20:24:00 • Тема: Занесение строки в MySQL таблицу • Форум: Если скрипт не работает

Ответов: 1
Просмотров: 865
Вообщем, скрипт не добавляет строки в БД, хотя должен...
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $db = 'MailBase';
  4. $conn = mysql_connect('localhost','123','454434');
  5. if($conn)
  6. {
  7. $db = mysql_select_db($db) or die("Ошибка Базы(Выбор БД) : ".mysql_error());
  8. $thumb = file("file.txt");
  9. if($thumb)
  10. {
  11. $count = count($thumb);
  12. for($i=0;$i<$count;$i++)
  13. {
  14. //print_r($thumb);
  15. $mail = $thumb[$i];
  16. echo "<br>Успешно добавил строку $mail в таблицу";
  17. mysql_query("INSERT INTO MailTable VALUES (''.$mail)",$db);
  18. mysql_close($conn);
  19. }
  20. }
  21. else
  22. {
  23. echo("Ошибка при загрузке файла");
  24. }
  25. }
  26. else
  27. {
  28. die("Ошибка Базы(Подключение) : ".mysql_error());
  29. }
  30. ?>
  31.  
Crowley Отправлено: 05 Февраля, 2014 - 18:56:56 • Тема: Импорт .txt в MySQL • Форум: Вопросы новичков

Ответов: 3
Просмотров: 295

А что-нибудь попроще? Ибо как этим пользоваться я не понял(загуглил, нашел переведенный мануал)(Только-только начинаю разбираться со всей этой темой, знаний как таковых нету), попытался применить этот код с помощью sql к своей базе(отредактировав его, поставив туда имя своей таблицы и БД), ничего не вышло...
Crowley Отправлено: 05 Февраля, 2014 - 15:10:58 • Тема: Импорт .txt в MySQL • Форум: Вопросы новичков

Ответов: 3
Просмотров: 295
Есть .txt файл с некими строками(Это не дамп!), его нужно импортировать его в MySQL базу данных на сервер(назовем ее "my_base"), а конкретнее - в таблицу "list"(1 строка = 1 колонка)
Как это проще всего сделать?
Crowley Отправлено: 03 Февраля, 2014 - 16:57:46 • Тема: Поиск совпадений по базе данных и самый простейший вывод информации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 156
imya пишет:
Так а что вам нужно-то? чтобы, если email был найден в базе - он вывелся на экран ??

Да.
Спасибо, буду тестировать.
P.S. В базе данных ничего изменять не нужно будет? Просто подгрузить туда почты и проиндексировать строки?
imya пишет:
upd: только при таком коде, оно столько раз выведет сообщение, сколько записей найдет. Проще выбирать найденные в массив и вне цикла вывод делать.

Грубо говоря, если одна и та же почта будет встречаться в базе 2 раза(например), он 2 раза напишет "Mail $mail is founded"?
Crowley Отправлено: 03 Февраля, 2014 - 15:58:54 • Тема: Поиск совпадений по базе данных и самый простейший вывод информации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 156
IllusionMH пишет:
Crowley, ну так если не в курсе что делать, то сначала почитать что делает функция mysql_query (рассмотреть примеры), потом посмотреть функции из списка См. также (конкретно mysql_fetch_array (внимательно рассмотреть примеры)).

Я все это читал, и не раз(под редакцией разных авторов), но дело в том, что ждать и учится, чтобы написать это самому - я не могу, работа нужна сегодня, до 00:00, поэтому я создал тему в разделе(НАПОМИНАЮ!) "Напишите за меня, пожалуйста"(А не "Дайте совет, я буду пробовать еще ~месяц, пока у меня не получится и не выйдут все сроки")
Crowley Отправлено: 03 Февраля, 2014 - 15:15:11 • Тема: Поиск совпадений по базе данных и самый простейший вывод информации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 156
imya пишет:
Простейший запрос

CODE (SQL):
скопировать код в буфер обмена
SELECT * FROM `your_table` AS t WHERE `t.mail` = {$mail} ORDER BY `id` ASC


На словах звучит так:
Хочу выбрать все строки из таблицы your_table , так чтобы поле mail было равно тому mail, который я введу в поле.

Так это-то понятно, но куда вставлять этот код, который ты дал? Как мне из PHP обратится к sql базе, и что передать туда?
Я создал тему здесь по тому, что мало понимаю что к чему(я неплохо знаю функции и синтаксис php, но с сервером работать практически не умею(только учусь)), а дело это - очень срочное.

Допустим, я понял основу.
PHP:
скопировать код в буфер обмена
  1. $mail = $_POST['mail'];
  2. $server = "servername";
  3. $user = "login";
  4. $password = "pass";
  5. $db = "mails";
  6. if (!mysql_connect($server, $user, $password))
  7. {
  8. echo "Ошибка подключения к серверу MySQL";
  9. }
  10. else
  11. {
  12. $q = mysql_query("SELECT * FROM `your_table` AS t WHERE `t.mail` = {$mail} ORDER BY `id` ASC");
  13. }

А дальше? А дальше не понятно...(Хоть этот-то код верный?)
Crowley Отправлено: 03 Февраля, 2014 - 12:38:26 • Тема: Поиск совпадений по базе данных и самый простейший вывод информации • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 156
Нужно осуществить поиск по базе данных 1 значения($mail), которое будет приходить post запросом, с последующим выводом.
Пример :
$mail = "123@mail.ru:456";
Если в базе данных есть значение $mail, то вывести его вот так :
echo "$mail - Есть совпадение";
Если совпадения нету, то так :
echo "$mail - Совпадения нету";

База данных размером в 41 миллион строк.

Буду безмерно благодарен, если кто-то с этим поможет(Желательно с комментариями, т.к. работать с базами не умею пока, и учусь на практике. Пока ничего не выходит... )
Crowley Отправлено: 02 Февраля, 2014 - 21:01:44 • Тема: Поиск по огромной базе данных • Форум: Вопросы новичков

Ответов: 12
Просмотров: 349
Мелкий пишет:
Точные совпадения? (Или хотя бы "строка начинается с ...")
Индекс повесить и всего делов.

Точные совпадения.
Значит, нужно повесить индекс(Не подскажите как? Ни разу не работал с БД) и все?
Crowley Отправлено: 02 Февраля, 2014 - 20:41:01 • Тема: Поиск по огромной базе данных • Форум: Вопросы новичков

Ответов: 12
Просмотров: 349
caballero пишет:
смотря каких строк и смотря что подразумевается под "обрабатывать"

Строки в среднем 32 символа, но могут быть и длиннее.
Обрабатывать - искать в базе совпадения, и выводить их пользователю, если эти совпадения есть.
Crowley Отправлено: 02 Февраля, 2014 - 20:33:51 • Тема: Поиск по огромной базе данных • Форум: Вопросы новичков

Ответов: 12
Просмотров: 349
caballero пишет:
а проблема то какая?

Как я понял, если обрабатывать 41 миллион строк, это будет очень долго(от 2 минут) разве нет?
Crowley Отправлено: 02 Февраля, 2014 - 20:01:49 • Тема: Поиск по огромной базе данных • Форум: Вопросы новичков

Ответов: 12
Просмотров: 349
Немного я недооценил масштабы.
В текстовом файле(это еще не БД) 41 миллион строк(1.2 гига), почему-то я решил, что перенеся все в БД будет где-то 2 гига строк.. Я ошибся, видимо.
Нужна идея для работы с БД в 41 миллион строк.
Crowley Отправлено: 02 Февраля, 2014 - 19:25:26 • Тема: Поиск по огромной базе данных • Форум: Вопросы новичков

Ответов: 12
Просмотров: 349
Есть SSD сервер(ОЗУ - 1 гиг, процессор - 2.7 вроде(точно не помню),память - 40 гигов)
На этом SSD стоит база данных в 2 гига. Нужно осуществить поиск по ней примерно 100 значений за раз, и сделать это максимально быстро.
Какие будут советы?
Crowley Отправлено: 01 Февраля, 2014 - 13:10:55 • Тема: Помогите с циклом, пожалуйста • Форум: Вопросы новичков

Ответов: 2
Просмотров: 72
[quote=caballero][/quote]
Тогда все время будут разные подмассивы, но элемент массива все время будет один - login. Это не то, что мне нужно.

Страниц (5): « 1 2 3 [4] 5 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB