Ошибка в запросе

Статус
В этой теме нельзя размещать новые ответы.

Flock

Постоялец
Регистрация
15 Июн 2007
Сообщения
139
Реакции
45
PHP:
$desc = @mysql_connect($host,$username,$password) or die("Ошибка! Невозможно соединиться с базой данных.".mysql_error());

@mysql_select_db($db) or die("Невозможно выбрать базу данных.".mysql_error());

============ Тут
$res = mysql_query("SELECT * FROM Info WHERE Family LIKE 'Ник%'") or die ("Ошибка.".mysql_error());
============

while($db_array = mysql_fetch_array($res))
{
            echo "Фамилия:".$db_array["Family"]."<br>";
}
	mysql_close($desc);

Не понимаю чего не хватает?! Есть записи с такими фамилиями в таблице. Выполняю в самом mysql, запрос проходит нормально.

Debian Linux, Mysql 5.0.38, PHP 5.2.0.
 
  • Заблокирован
  • #2
убери погашение вывода ошибок @mysql_select_db и приведи сообщение об ошибке..
 
Не в этом дело 100%, оно из под рута работает. Проблема была в кодировках у меня стояла в mysql latin1, погуглил сделал так:

CREATE DATABASE Base_Name CHARACTER SET cp1251;

CREATE TABLE Table_Name (...) DEFAULT CHARACTER SET cp1251;

Потом еще подправил my.cnf,
[mysql]
default-character-set=cp1251
[mysqld]
default-character-set=cp1251

и при начале работы с таблицами, mysql_query("SET NAMES cp1251") (хотя вроде не обязательно..т.к установили по умолчанию кодировку в my.cnf как cp1251)

Вроде все работает, выводит.
 
Flock, раз ты любишь ассоциативные массивы, попробуй вот так:
PHP:
$desc = @mysql_connect($host,$username,$password) or die("Ошибка! Невозможно соединиться с базой данных.".mysql_error());
@mysql_select_db($db,$desc) or die("Невозможно выбрать базу данных.".mysql_error());
mysql_query('SET NAMES cp1251',$desc);
$res = mysql_query("SELECT * FROM Info WHERE Family LIKE 'Ник%'",$desc);
while ($row=mysql_fetch_assoc($res)) echo "Фамилия: {$row['Family']}<br>\n";
mysql_close($desc);
Я понимаю, что ты сам разобрался. Но другим начинающим мой пример может оказаться полезным.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху