За последние 24 часа нас посетил 18831 программист и 1607 роботов. Сейчас ищут 914 программистов ...

не хочет доставать данный из MySQL

Тема в разделе "PHP для новичков", создана пользователем я честно Сергей, 20 май 2010.

  1. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    Здравствуйте
    проблема такая
    пытаюсь вытащить данные из базы данных таким незамысловатым вроде способом:

    <?php

    $db = mysql_connect("localhost","root","");
    mysql_select_db("shop",$db);

    $result = mysql_query("select * from workers",$db);
    $done = mysql_fetch_array($result);

    echo $done["W_Name"];
    ?>

    после запуска браузер долго долго грузит и затем выводит следующее сообщение:

    Warning: mysql_connect() [function.mysql-connect]: [2002] ������� ���������� ���������� ���� �����������, �.�. �� ������� (trying to connect via tcp://localhost:3306) in C:\www\html\mysql.php on line 11

    Warning: mysql_connect() [function.mysql-connect]: ������� ���������� ���������� ���� �����������, �.�. �� ������� ���������� �� ��������� ����� �� ������� ������ ������, ��� ���� ��������� ��� ������������� ���������� ��-�� ��������� ������� ��� ������������� ����������. in C:\www\html\mysql.php on line 11

    Fatal error: Maximum execution time of 60 seconds exceeded in C:\www\html\mysql.php on line 11

    Объясните пожалуйста в чем дело?
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    C:\Windows\System32\Drivers\etc файл hosts
    там должна быть раскомментірована (без # в начале) строчка 127.0.0.1 localhost
    Если нет - добавьте
     
  3. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    Строча существует и была раскомментирована
    я вместо localhost писал 127.0.0.1
    такая же ерунда вылазит
     
  4. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    все равно не хочет соединяться

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

    все равно хочется выяснить в чем тут все таки проблема
     
  5. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    мож просто сервер мускуля не запущен? или не на том порту.
    попробуй телнетом пподрубиться.

    telnet localhost 3306
     
  6. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    так, с подрубкой разобрался, там порт 3308 был
    теперь проблемы с кодировкой, все выводится теми самыми ромбиками с вопросами
    если вывожу латинскими буквами - выводится латинскими
    если русские вывожу слова - вопросики
    в мускуле по умолчанию стоит ср1251 или как там...
    вот
     
  7. Hast

    Hast Активный пользователь

    С нами с:
    23 май 2010
    Сообщения:
    5
    Симпатии:
    0
    1) нужно чтобы кодировка БД и кодировка страницы совпадали
    2) после соединения с бд пропиши: mysql_query('SET NAMES cp1251');
     
  8. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    так
    в my.ini прописано ср1251
    после соединения прописываю
    Код (Text):
    1.      mysql_query('SET NAMES cp1251');
    2.      mysql_query ("set character_set_client='cp1251'");
    3.      mysql_query ("set character_set_results='cp1251'");
    4.      mysql_query ("set collation_connection='cp1251_general_ci'");
    в коде странички приписываю
    Код (Text):
    1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    где то еще надо прописывать кодировку?
     
  9. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    поправка
    Код (Text):
    1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
  10. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Они как бы разные. Нет?
     
  11. я честно Сергей

    я честно Сергей Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    чорт
    там прописано windows-1251
    так же прописывал cp-1251

    все равно не канает
    не оттуда скопировал, извините
     
  12. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    сам файл со скриптом сконвертировали в нужную кодировку?
     
  13. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Значит данные в БД были записаны НЕ в cp-1251

    [sql]SHOW CREATE DATABASE имя базы
    SHOW CREATE TABLE имя таблицы[/sql]

    Должны показать умолчальные кодировки, которые стояли.
    Попробуйте теми же командами - "SET NAMES"
    Установить именно их и вывести на экран.

    И поиграйтесь с кодировкой отображения на странице с помощью меню браузера.
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    + AddDefaultCharset у апача
    + заголовок кодировки