Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP/MySQL — błąd składni SQL?

Musisz zmienić ciąg znaków, które wysyłasz w zapytaniach SQL.

W tym celu możesz użyć mysql_real_escape_string funkcja.

Na przykład Twój kod może wyglądać tak (nie testowano, ale coś takiego powinno wystarczyć) :

$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('" 
  . mysql_real_escape_string($str)
  . "')";
$result = mysql_query($sql_query);


Inne rozwiązanie (będzie jednak wymagało więcej pracy, ponieważ będziesz musiał zmienić więcej kodu) byłoby korzystanie z przygotowanych oświadczeń; albo z mysqli_* lub PDO -- ale nie jest to możliwe ze starym mysql_* rozszerzenie.


Edytuj: jeśli to nie zadziała, czy możesz zmienić swoje pytanie, aby przekazać nam więcej informacji? Jak fragment kodu, który powoduje błąd?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić wiele wartości pól wyboru do tabeli?

  2. Dynamiczne połączenie z bazą danych Codeiniter

  3. Łączniki w nazwach kolumn w MySQL DB

  4. przed wstawieniem wyzwalacza do wstawiania zduplikowanych wierszy do innej tabeli

  5. Ostrzeżenie:mysqli_connect():(HY000/2002):Brak takiego pliku lub katalogu