PHP в деталях

       

Запросы на вставку строки (INSERT)


  • Поле идентификатора вставлять не нужно. На это есть свойство поля AUTO_INCREMENT.
  • Забавно читать, как в форуме пишут:

    - Как мне быть с генератором случайных чисел?! неправильно работает!

    - А зачем тебе?

    - Да в базе id использовать...

    В общем, не надо самодеятельности.

  • Если в поле формата DATE, TIME, DATETIME или TIMESTAMP надо вставить текущее время, используйте встроенную в mysql функцию NOW: "INSERT INTO vote (ip, date) VALUES ($REMOTE_ADDR, NOW())"
  • Хранимые в базе пароли лучше прикрыть функцией php md5: "INSERT INTO user (login, pass) VALUES ('$login', ". md5($pass). ")" "SELECT * FROM user WHERE login='$login' AND pass=". md5($pass)
  • Советы, кажется, уже исчерпаны. Напоследок. С недавних пор я стал думать, что при написании скриптов, работающих с БД, надо ориентироваться не только на глупого и шаловливого посетителя, но и на криворукого администратора. Даже если мы внимательно будем следить за текстом, который вставляем в текстовое поле (одинарные кавычки не писать, делать их автозамену в Word-е, белое не носить), вероятность попадания служебных символов в запрос ненулевая.



    Содержание раздела