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

Избягването на единични кавички в PHP/MySQL вмъкване не работи

Вмъкнете низ с единични кавички (' ) или двойни кавички (" ) в mysql

Просто използвайте addslashes(); при вмъкване и stripslashes(); за извличане на данни.

$str = "Hello Friend's.. Hows you all"s.";
// Outputs: Hello Friend\'s..Hows you all\"s.
echo addslashes($str);

striplashes — Премахване на кавички от цитиран низ с addslashes() . Връща низ с отстранени обратни наклонени черти. (\' става ' и т.н.) Двойни обратни наклонени черти (\\ ) се превръщат в една обратна наклонена черта (\ ).

$str = "Hello Friend\'s.. Hows you all"s."; // Outputs: Hello Friend's.. Hows you all"s.
echo stripslashes($str);

Сега стигаме до въпроса. Ако вмъкнем низ в база данни с единични или двойни кавички по следния начин:

$str = “Hello Friend's.. Hows you all"s.”;
$query = “INSERT INTO tbl (description) VALUES (‘$str’)”;

Това ще възникне грешка, но ако използваме addslashes($str) функция като по-долу и след това вмъкнете в базата данни, тогава няма да възникне грешка.

$str = “Hello Friend's.. Hows you all"s.”;
$desc_str = addslashes($str);
$query = “INSERT INTO tbl (description) VALUES (‘$desc_str’)”;

по подобен начин можем да използваме stripslashes($str) за да отпечатате тази стойност на полето на таблицата по следния начин:

echo stripslashes($str);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:ALTER IGNORE TABLE ADD UNIQUE, какво ще бъде съкратено?

  2. Mysql грешка:Заявката беше празна

  3. Как да покажа всички записи в базата данни на JTable?

  4. Настройване на заявка за конкретно поле на Hibernate обект

  5. MySQL ГРЕШКА 1327 при извършване на INTO FROM