За последние 24 часа нас посетили 55313 программистов и 1715 роботов. Сейчас ищут 972 программиста ...

Не коннектится по одному коду, а по-другом получается.

Тема в разделе "PHP и базы данных", создана пользователем Dima4321, 13 ноя 2010.

  1. Dima4321

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

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Подключаюсь к базе . пароль и прочее вымышленное. Но страницу не выдает и сообщение об ошибке тоже


    <?php

    $dblocation = "mysql.username.z8.ru";
    $dbname = "db_tttt_4 ";
    $dbuser = "dbu_tttt_4";
    $dbpasswd = "aaaaaa";


    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

    if (!$dbcnx) {exit(ggggg)}

    if (! @mysql_select_db($dbname,$dbcnx)) {exit(gggggggg)}

    @mysql_query("SET NAMES 'cp1251'");

    ?>


    а вот по этому коду все нормально

    <?php /*этой строкой говорим, что пхп код начался.
    В дальнейшем будем писать проще: "<?", т.к.
    наш хостинг позволяет делать упрощенную запись.*/
    $link = mysql_connect('mysql.t00t.z8.ru', 'dbu_tttt_4', 'aaaa') or die("Не могу соединиться");
    mysql_select_db('db_tttt_4', $link);
    // а в последней строке мы укажем, что пхп код закончился
    ?>


    Почему ?? ))
     
  2. phpdude

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

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    оба кода страшные как мой зад после сранья
     
  3. phpdude

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

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    особенно прикольно выглядят комментарии во втором куске :D
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Dima4321
    символ @ подавляет вывод ошибок. Вы вобще откуда взяли такое все извратное?

    вот мой нубский подход. но почему нубский - не скажу, а вам и так хватит.

    PHP:
    1. <?
    2. $dblocation = "mysql.username.z8.ru";
    3. $dbname = "db_tttt_4 ";
    4. $dbuser = "dbu_tttt_4";
    5. $dbpasswd = "aaaaaa";
    6.  
    7.  
    8. $dbcnx = new mysqli($dblocation, $dbuser, $dbpasswd, $dbname);
    9.   //debug('Облом!');
    10.   printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n", mysqli_connect_error());
    11.   exit;
    12. }
     
  5. Dima4321

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

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    А мой то код нельзя подправить ??))

    Зачем мне нубовский подход покажи хороший подход ))


    И ксати зачем здесь мне та функция котора проверяет ошибки..??))

    mysqli_connect_errno -- Возвращает код ошибки последнего вызванного подключения
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Dima4321
    бери что дают и осваивай mysqli. 2011 год на носу, а ты все в носу ковыряешь!
     
  7. Зверь

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

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    igordata вполне хорошее решение дал
    А функция нужна, чтобы узнать может, что не так и произошли какие-то ошибки. А в первом варианте ты как раз подавляешь ошибки... а потом спрашиваешь почему не работает, а ты ошибки посмотри, может понятно станет почему не работает.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нубское потому что используется функция в объектном мире =)

    а используется потому что http://ru2.php.net/manual/en/mysqli.connect.php
    PHP:
    1. <?
    2. /*
    3.  * This is the "official" OO way to do it,
    4.  * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
    5.  */
    6. if ($mysqli->connect_error) {
    7.     die('Connect Error (' . $mysqli->connect_errno . ') '
    8.             . $mysqli->connect_error);
    9. }
    10.  
    11. /*
    12.  * Use this instead of $connect_error if you need to ensure
    13.  * compatibility with PHP versions prior to 5.2.9 and 5.3.0.
    14.  */
    15.     die('Connect Error (' . mysqli_connect_errno() . ') '
    16.             . mysqli_connect_error());
    17. }
    Запрос и проход по результату осуществляется так:
    PHP:
    1. <?
    2. if ($result = $dbcnx->query('SELECT *')) {
    3.   while($row = $result->fetch_assoc()) {
    4.     //
    5.   }
    6. }