Hallo,
Wanneer ik een tabel in MysQl wens aan te maken waarbij de naam uitsluitend uit cijfers bestaat, dan krijg ik onderstaande foutmelding:

Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '12345 ( ID int(11) NOT NULL auto_increment, Voornaam varchar' at line 1 in C:\Apache_server\Apache2\htdocs\test\tabel\tabelmaak10.php on line 30

De code ziet er als volgt uit:

<?php
include('verbinding.php' );



$var=$_POST['chassis'];


$query = 'CREATE TABLE '.$var.' (
ID int(11) NOT NULL auto_increment,
Voornaam varchar(50) NOT NULL,
Achternaam varchar(50) NOT NULL,
Email varchar(100) NOT NULL,
PRIMARY KEY (ID)
)';



if (!$result = mysql_query( $query)) {
trigger_error (mysql_error ());
}

?>


Alvast bedankt !




aan de foutmelding te zien mag een tabelnaam niet uit cijfers bestaan of niet met een cijfer beginnen....

probeer eens:

Q_'.$var.'
Dag Erik,
Ja dit werkt wel. Ok, tabelnaam moet dus minstens één letter bevatten.
Waarom wordt het hoofdletter "Q" omgezet naar kleine letter "q" ?
de naam mag denk ik ook geen hooftletters bevatten
Een tabelnaam die bestaat uit cijfers is ook redelijk achtelijk, het zegt helemaal niets over de inhoud. En wanneer je aan het programmeren bent, weet je zeker dat je een hele berg bugs gaat creeeren.

Wat levert bv. de volgende query op:
SELECT * FROM 1 WHERE id = 23
of
SELECT * FROM 2 WHERE id = 23

Je komt voor de meest vervelende verrassingen te staan... En ga dit maar eens debuggen, vrijwel onmogelijk! Je ziet de fouten gewoonweg niet.

Moraal van het verhaal: Maak een goed datamodel door correct te gaan normaliseren en bedenk vervolgens duidelijke namen voor de verschillende tabellen die je nodig hebt. Je zult zelden of nooit getallen in een tabelnaam nodig hebben.

Reageren