За последние 24 часа нас посетили 16692 программиста и 1650 роботов. Сейчас ищут 1937 программистов ...

Проблема: php+mysql+win+linux+0x...

Тема в разделе "MySQL", создана пользователем Валерия, 30 май 2008.

  1. Валерия

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

    С нами с:
    14 ноя 2007
    Сообщения:
    50
    Симпатии:
    0
    Apache 2.2, php 5, MySQL 5.
    Проблема такая.
    В форме регистрации пароль кодируется в md5, затем приводится к шестнадцатеричному число через добавление '0x', затем идет запрос mysql_query(). Пароль должен записаться в базу в виде '0xad67f7e6', а записывается в виде '\xad\x67\xf7...', точнее, не записывается, выдает ошибку. При записи в базу через консоль под линуксом запроса 'call adduser('login', 0xad67f7e6);' все проходит нормально, а вот в windows не работает
    Кодировка UTF8.
    PHP:
    1.  
    2. <?php
    3. $hex = '0x';
    4. $hpass = $hex . md5($login . $pass);
    5.  
    6. $query = "call adduser('$login', $hpass);";
    7. $result = mysql_query($query) or die('Invalid query: ' . mysql_error());
    8. echo 'User added';
    9. ?>
    10.  
     
  2. EugeneTM

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

    С нами с:
    19 апр 2008
    Сообщения:
    85
    Симпатии:
    0
    Может поэтому
    $query = "call adduser('$login', '$hpass');";
     
  3. Валерия

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

    С нами с:
    14 ноя 2007
    Сообщения:
    50
    Симпатии:
    0
    Нет, кавычки там ни в коем случае быть не должны. С кавычками записывается как строка и пароль потом не распознается. Да и пробовала так :) Все равно то же самое. Каждая строка, подозреваемая на шестнадцатиричность, в пхп преобразовывается к виду '\xDD' (видимо...) Как этого избежать ? Очень срочно нужно :(
     
  4. EugeneTM

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

    С нами с:
    19 апр 2008
    Сообщения:
    85
    Симпатии:
    0
    Пока нет кода adduser и структуры таблицы куда оно пишет, никто ничем не поможет.
     
  5. EugeneTM

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

    С нами с:
    19 апр 2008
    Сообщения:
    85
    Симпатии:
    0
    Кстати версии MySQL и PHP точно одинаковые. Водится за ними взгляды на мелочи менять.
     
  6. BS

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

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    а в базе поле с паролем какой имеет тип?
     
  7. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    а дело не в ";" после имени хранимки? без нее попробуй
     
  8. Владимир77

    Владимир77 Активный пользователь

    С нами с:
    4 июн 2008
    Сообщения:
    7
    Симпатии:
    0
    не подскажите, после установки апача, пхп и мускл по найденой на вашем сайте инструкции, все тестируется до момента когда мускл тестировать начинаю, пишет: "Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\mysql_test.php on line 2".
    а вот и "line 2": "$link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect");
    "
     
  9. BS

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

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Владимир77 ну вроде
    ТАМ и об этом написано?