phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Błąd wstawiania PHP do składni MySQL

TableNames są identyfikatorami, więc nie powinny być cytowane pojedynczymi cudzysłowami. Ponieważ użyta nazwa tableName nie jest zarezerwowanym słowem kluczowym, możesz po prostu usunąć otaczające cudzysłowy,

INSERT INTO student (FirstName, LastName....

Kiedy umieszczasz coś w pojedynczych cudzysłowach, wymusza to, aby ten obiekt stał się literałem ciągu. Więc kiedy identyfikatory są otoczone pojedynczymi cudzysłowami, oznacza to, że nie są już identyfikatorami.

Serwer zgłasza wyjątek, ponieważ INSERT INTO oczekuje identyfikatora, a nie literału łańcuchowego.

Gdy przypadkowo użyłeś nazwy tabeli, która jest MySQL Reserved Słowo kluczowe , nie używaj pojedynczego cudzysłowu do odgraniczenia identyfikatora, ale z backticks .

Na marginesie, zapytanie jest podatne na SQL Injection jeśli wartość (s ) zmiennych pochodziło z zewnątrz. Zapoznaj się z poniższym artykułem, aby dowiedzieć się, jak temu zapobiec. Używając PreparedStatements możesz pozbyć się pojedynczych cudzysłowów wokół wartości.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Błąd mbstring phpMyAdmin

  2. phpMyAdmin nie ma uprawnień do tworzenia bazy danych, mimo zalogowania się jako użytkownik root

  3. Jak zaktualizować/wstawić losowe daty w SQL w określonym zakresie dat?

  4. Czy ktoś może potwierdzić, że phpMyAdmin AllowNoPassword działa z bazami danych MySQL?

  5. Auto TimeStamp nowy wpis do bazy danych (phpMyAdmin)