Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2008, 06:25   #1
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
Плохо PHP Поиск в MySQl

код:
Код:
if ($b_search and strlen($text)>3)
{
 if ($db = mysql_connect("localhost","user","password"))
 {
  mysql_select_db("date_base",$db);
  if ($result = mysql_query("SELECT * FROM `map_sites` WHERE (`url` LIKE '%сайт%' OR `title` LIKE '%сайт%' OR `coment` LIKE '%сайт%')",$db))
  {
   $i = 0;
   while ($res[$i] = mysql_fetch_array($result)) {$i++;}
  }
 }
}
Кодировки:
Страницы windows-1251
БД и полей cp1251_general_ci
На денвере работает(почему не спрашиваю), не работает на хостинге hosting.vingrad.ru. Объясните почему. %сайт% - проба, а так %$text%
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 04.07.2008, 08:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А база то хоть там твоя есть?
Что в $result возвращается?
И вообще доходит ли до цикла While на хостинге?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.07.2008, 10:39   #3
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

база полностью импортирована с денвера.
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 04.07.2008, 10:48   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Проверь каждое действие, тогда хоть будеш знать в чем проблема. Например так
Код:
     $bdloc='SQL сервер подставить свой';
     $bdusver='База SQL подставить свою';
     $bdpass='SQL пароль подставить свой';
     $bdname='SQL логин подставить свой';
     $bdcnx=@mysql_connect( $bdloc,$bdusver,$bdpass);
     if (!$bdcnx)
      {
         echo 'Сервер базы данных не доступен';
         exit();
      }
     if (!mysql_select_db($bdname,$bdcnx))
      {
         echo 'не удалось соедениться с базой данных';
         exit();
      }
   ..................
А вместо твоих "localhost","user","password" нужно задать значения которые были даны на хостинге
Gorychev вне форума Ответить с цитированием
Старый 04.07.2008, 12:59   #5
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

попробую сделать проверки, а про локал, юзер, и пасс - так что мне все это на форум выкладывать?
Разработка сайтов -дело прикольное

Последний раз редактировалось SkyM@n; 07.07.2008 в 10:41.
LeoN вне форума Ответить с цитированием
Старый 04.07.2008, 15:19   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Советую, то что посоветовал Gorychev, только не @mysql_connect, а mysql_connect.
При попытках выявить ошибки категорически запрещается использовать at-символ @
Покажи, что выводит.

Последний раз редактировалось SkyM@n; 07.07.2008 в 10:47.
SkyM@n вне форума Ответить с цитированием
Старый 07.07.2008, 10:52   #7
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

Сделал, выдал что кодировки windows и latin1 несовместимы, после изменения БД на utf_general.. ошибок не выдает, но и не работает.
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 07.07.2008, 11:08   #8
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Конечно не совместимы.. В какой кодировке БД?
Вставьте инструкцию после коннекта:
Код:
mysql_query("set character_set_client='cp1251'");
mysql_query("set character_set_results='cp1251'");
mysql_query("set collation_connection='cp1251_general_ci'");
SkyM@n вне форума Ответить с цитированием
Старый 07.07.2008, 15:03   #9
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

SkyM@n
Вместо этих трёх строк подойдёт всего одна

Код:
mysql_query("SET NAMES 'cp1251'");
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 07.07.2008, 18:38   #10
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Не всегда. У них ведь разные предназначения и не взаимозамеными.

2LeOn:
Покажите результат от
Код:
mysql_query("show variables");
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML vs. MySQL Schweppes PHP 3 30.08.2008 17:35
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29
MYSQL MAcK БД в Delphi 1 14.04.2008 13:13
VBA и MYSQL Индийское диско Microsoft Office Word 0 11.01.2008 13:14
mysql & php kkkggg PHP 1 08.08.2007 19:55