sql >> Database >  >> Database Tools >> phpMyAdmin

PHP Insert in MySQL-syntaxisfout

TableNames zijn id's, dus ze mogen niet tussen enkele aanhalingstekens worden geplaatst. Aangezien de tableName die u heeft gebruikt geen gereserveerd sleutelwoord is, kunt u eenvoudig de aanhalingstekens die eromheen staan ​​verwijderen,

INSERT INTO student (FirstName, LastName....

Wanneer u iets omwikkelt met enkele aanhalingstekens, wordt dat object gedwongen een letterlijke tekenreeks te worden. Dus wanneer identifiers omwikkeld zijn met enkele aanhalingstekens, betekent dit dat ze geen identifier meer zijn.

De server genereert een uitzondering omdat INSERT INTO verwacht een identifier die geen letterlijke tekenreeks is.

Wanneer u per ongeluk een tabelnaam hebt gebruikt die een MySQL Reserved is Zoekwoord , gebruik geen enkel aanhalingsteken om de identifier af te bakenen, maar met backticks .

Even terzijde:de query is kwetsbaar met SQL Injection als de waarde(s ) van de variabelen kwam van buitenaf. Bekijk het onderstaande artikel om te zien hoe u dit kunt voorkomen. Door PreparedStatements . te gebruiken u kunt het gebruik van enkele aanhalingstekens rond waarden verwijderen.



  1. Waar kan ik MySQL-logboeken vinden in phpMyAdmin?

  2. Hoe het ip-adres van de mySQL-server te achterhalen via phpmyadmin

  3. Databases en tabellen importeren met PhpMyAdmin

  4. Database gemaakt in SQL Server Management Studios kan niet worden gevonden door Visual Studio 2010