Помощь с запросом

Тема в разделе "Базы данных", создана пользователем avgaz, 26 мар 2012.

Модераторы: latteo
  1. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Здравствуйте. Имеется вот такой запрос в БД
    PHP:
      $q "UPDATE ".$config['Database']['tableprefix']."user SET password='".$cov["converge_pass_hash"]."', salt='".$cov["converge_pass_salt"]."' WHERE email='".$cov["converge_email"]."'";
    Этот запрос переносит данные из обной БД в другую, но есть проблема поле converge_pass_salt имеет данные с ' из за этого возникают ошибки такого рода
    PHP:
    UPDATE user SET password='0798890cff6bb191914da366e24b7'salt='HZ9E'' WHERE email='malde@hitv.ru'
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
    malde@hitv.ru'' at line 1
    Посоветуйте как быть??
     
  2. recasher2k12

    recasher2k12

    Регистр.:
    19 фев 2012
    Сообщения:
    156
    Симпатии:
    78
    PHP:
    htmlspecialchars($cov["converge_pass_salt"],1)
     
  3. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Попробовал результат тот же. Да и как я понял это не совсем то мне ненужно преобразовывать мне нужно перенести полную копию
     
  4. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    PHP:
    # поменять
    $cov["converge_pass_hash"]
    # на
    mysql_real_escape_string($cov["converge_pass_salt"])
     
    avgaz нравится это.
  5. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    $q = "UPDATE ".$config['Database']['tableprefix']."user SET password=`".$cov["converge_pass_hash"]."`, salt=`".$cov["converge_pass_salt"]."` WHERE email=`".$cov["converge_email"]."`";
     
  6. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    ага :) а что делать если в salt какого нить пароля попадет символ ` :) ?
     
  7. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Пробовал я различные комбинации везде разные грабли
    mysql_real_escape_string
    Помогло спасибо.
     
  8. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    интересно чем вы salt генерите что у Вас такие (`) символы попадаются?
     
  9. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    IPB2.3 их так генерирует ))
     
  10. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    Спасибо за разъяснение, раньше никогда не с сталкивался, буду иметь в виду.