sql >> Databáze >  >> Database Tools >> phpMyAdmin

Chyba syntaxe PHP Insert do MySQL

TableNames jsou identifikátory, takže by neměly být uváděny v jednoduchých uvozovkách. Vzhledem k tomu, že název_tabulky, který jste použili, není vyhrazeným klíčovým slovem, můžete tyto obalující uvozovky jednoduše odstranit,

INSERT INTO student (FirstName, LastName....

Když něco zabalíte do jednoduchých uvozovek, vynutí to, aby se tento objekt stal řetězcovým literálem. Když jsou tedy identifikátory zalomeny do jednoduchých uvozovek, znamená to, že již nejsou identifikátory.

Server vyvolá výjimku, protože INSERT INTO očekává identifikátor, nikoli řetězcový literál.

Když jste omylem použili název tabulky, který je MySQL Reserved Klíčové slovo , nepoužívejte k oddělování identifikátoru jednoduché uvozovky, ale pomocí backticks .

Vedlejší poznámkou je, že dotaz je zranitelný pomocí SQL Injection pokud je hodnota (s ) proměnných pochází zvenčí. Podívejte se prosím na níže uvedený článek, kde se dozvíte, jak tomu zabránit. Pomocí PreparedStatements můžete se zbavit používání jednoduchých uvozovek kolem hodnot.



  1. konfigurace phpMyAdmin

  2. Import .sql do MS Access pomocí OBDC

  3. Datum nebylo odesláno do mysql

  4. Prohlášení o aktualizaci MySQL:Neznámá 'tabulka' v 'seznamu polí'