Problem beim erstellen einer Datenbank!

kcyberbob

Erfahrenes Mitglied
Hallo,

ich hab ein Problem beim erstellen einer Datenbank.
PHP:
$db_jahr = "2004";
$conn = mysql_pconnect('localhost', 'root', '') or die  ("Keine Verbindung möglich");
mysql_query("CREATE DATABASE $db_jahr") or die ("Die Datenbank konnte nicht erstellt werden");

Ich habe die Version MySQL 4.1.8-nt

Früher habe ich die Datenbank mit folgendem Befehl erstellt aber das ging auch nicht.
PHP:
mysql_create_db("$db_jahr");

Worin liegt denn das Problem?
Es kommt immer Die Datenbank konnte nicht erstellt werden.

Gruß kcyberbob
 
naja versuch es mal so

PHP:
mysql_create_db($db_jahr);

Ohne den "Anführungszeichen"...


und noch was nimm statt mysql_pconnect => mysql_connect weil sonst hast du ne permanente verbindung zur Datenbank die nicht geschlossen wird


lg andy
 
Da kommt die gleiche Fehlermeldung wie vorher

PHP:
Fatal error: Call to undefined function mysql_create_db() in C:\apachefriends\xampp\htdocs\kegeln\install\install.php on line 190
Das hat was mit der MySQL version zu tun.
Aber danke für die antwort.
 
Ja das ganze muß so heißen:

PHP:
Anmerkung: Die Funktion mysql_create_db() ist veraltet. Stattdessen sollte mit der Funktion mysql_query() der SQL-Befehl CREATE DATABASE ausgeführt werden.

Aber wie ,muß ich das ganze dann schreiben?
 
Ich habs jetzt mal so gemacht:
PHP:
mysql_query("CREATE DATABASE $jahr") or die("<br /><b>Fehler: " . mysql_error() . "</b><br />");
aber da kommt folgende Fehlermeldung:
PHP:
Fehler: 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 '2004' at line 1

wenn ich dann die Zeichen ' ' einfüge also so:
PHP:
mysql_query("CREATE DATABASE '$jahr'") or die("<br /><b>Fehler: " . mysql_error() . "</b><br />");

kommt diese Fehlermeldung:
PHP:
Fehler: 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 ''2004'' at line 1


Gruß kcyberbob
 
MySQL-Manual:
(13.2.4 CREATE DATABASE Syntax)

9.2 Database, Table, Index, Column, and Alias Names
The identifier quote character is the backtick ('`')
Der backtick ist kein Hochkomma und kein Anführungszeichen, sondern halt ein backtick (zumindest bei den Machern des MySQL-Handbuchs, Frag' bitte nicht, wie das Ding auf deutsch heißt), Shift und oben rechts neben dem Fragezeichen:
Code:
Hochkomma         : '
Anführungszeichen : "
backtick          : `
A name may start with any character that is legal in a name. In particular, a name may start with a digit; this differs from many other database systems! However, an unquoted name cannot consist only of digits.
 
Zurück