MySQL create Table mti PHP (PDO)?

Hallo zusammen,

ich hänge momentan an einer Fehlermeldung seit einigen Stunden fest und kommen nicht weiter. Vielleicht könnt ihr mir ja helfen.

Ich möchte eine mysql (v. 5.7) Tabelle über ein PHP Skript erstellen und bekomme folgende Fehlermeldung:

Connected successfullyErstelle Tabelle...CREATE TABLE 'amaproducts' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, produkt_title VARCHAR(255) , produkt_beschreibung VARCHAR(255) NOT NULL, produkt_vorteile VARCHAR(255) NOT NULL, produkt_nachteile VARCHAR(255) NOT NULL, produkt_eigenschaften VARCHAR(255) NOT NULL, produkt_bildlink VARCHAR(255) NOT NULL, produkt_textlink VARCHAR(255) NOT NULL, produkt_bewertung FLOAT(4) NOT NULL, produkt_update DATETIME() NOT NULL)
SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''amaproducts' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, produkt_title V' at line 1

In Zeile 1 steht <?php.

Danach kommt der Verbindungsaufbau, der auch erfolgreich ist.

Hier irgendwo muss der Fehler herkommen:

<?php 
	//Tabelle erstellen
	$sql = "CREATE TABLE $table_name (
	id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	produkt_title VARCHAR(255),
	produkt_beschreibung VARCHAR(255) NOT NULL,
	produkt_vorteile VARCHAR(255) NOT NULL,
	produkt_nachteile VARCHAR(255) NOT NULL,
	produkt_eigenschaften VARCHAR(255) NOT NULL,
	produkt_bildlink VARCHAR(255) NOT NULL,
	produkt_textlink VARCHAR(255) NOT NULL,
	produkt_bewertung FLOAT(4) NOT NULL,
	produkt_update DATETIME() NOT NULL)";
$conn-&gt;exec($sql);


    echo "Table MyGuests created successfully";


} catch (PDOException $e) {
    echo $sql . "&lt;br&gt;" . $e-&gt;getMessage();
}   

?>
...zum Beitrag

Falls es jemand interessiert, ich habe DATETIME durch TIMESTAMP ersetzt und es geht.

...zur Antwort
MySQL create Table mti PHP (PDO)?

Hallo zusammen,

ich hänge momentan an einer Fehlermeldung seit einigen Stunden fest und kommen nicht weiter. Vielleicht könnt ihr mir ja helfen.

Ich möchte eine mysql (v. 5.7) Tabelle über ein PHP Skript erstellen und bekomme folgende Fehlermeldung:

Connected successfullyErstelle Tabelle...CREATE TABLE 'amaproducts' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, produkt_title VARCHAR(255) , produkt_beschreibung VARCHAR(255) NOT NULL, produkt_vorteile VARCHAR(255) NOT NULL, produkt_nachteile VARCHAR(255) NOT NULL, produkt_eigenschaften VARCHAR(255) NOT NULL, produkt_bildlink VARCHAR(255) NOT NULL, produkt_textlink VARCHAR(255) NOT NULL, produkt_bewertung FLOAT(4) NOT NULL, produkt_update DATETIME() NOT NULL)
SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''amaproducts' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, produkt_title V' at line 1

In Zeile 1 steht <?php.

Danach kommt der Verbindungsaufbau, der auch erfolgreich ist.

Hier irgendwo muss der Fehler herkommen:

<?php 
	//Tabelle erstellen
	$sql = "CREATE TABLE $table_name (
	id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	produkt_title VARCHAR(255),
	produkt_beschreibung VARCHAR(255) NOT NULL,
	produkt_vorteile VARCHAR(255) NOT NULL,
	produkt_nachteile VARCHAR(255) NOT NULL,
	produkt_eigenschaften VARCHAR(255) NOT NULL,
	produkt_bildlink VARCHAR(255) NOT NULL,
	produkt_textlink VARCHAR(255) NOT NULL,
	produkt_bewertung FLOAT(4) NOT NULL,
	produkt_update DATETIME() NOT NULL)";
$conn-&gt;exec($sql);


    echo "Table MyGuests created successfully";


} catch (PDOException $e) {
    echo $sql . "&lt;br&gt;" . $e-&gt;getMessage();
}   

?>
...zum Beitrag

Ich habe die Variable $table_name auch bereits ohne Anführungsstriche übergeben, jedoch mit dem selben Ergebnis.

Über Hilfe würde ich mich sehr freuen.

...zur Antwort