Mysql
 sql >> база данни >  >> RDS >> Mysql

сесията за влизане е унищожена след опресняване

mysqli_real_escape_string() ИЗИСКВА да имате активна/установена връзка с БД. Тъй като изпълнявате m_r_e_s() повикване ПРЕДИ да се свържете, просто ще получите обратно булева FALSE, за да означава неуспех. Така че изхвърляте своите "цитирани" стойности.

Булеви фалшиви стойности, вмъкнати в низ, просто се преобразуват в празни низове, така че вашите заявки започват да изглеждат като

SELECT ... WHERE username=''
                           ^---see the boolean false in there?

Вашата кодова последователност трябва да бъде:

session_start();
connect_to_db();
prepare_variables();
do_query();

И тъй като използвате mysqli, защо така или иначе ръчно избягвате променливите? Можете просто да използвате подготвено изявление + заместители и да заобиколите проблема изцяло.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изпълнявате съхранени процедури с Doctrine2 и MySQL

  2. какво е по-бързо, count(*) или count(table_field_name) в mysql?

  3. MySQL:няма достъп до root акаунт

  4. Колко колони можете да имате (максимум) в MySQL таблица?

  5. как да вмъкна стойности със запетая? в оператор switch