• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kann nicht in Datenbank schreiben!

vitus37

Senior HTML'ler
Servus liebe community!
Habe folgenden PHP-Code geschrieben:
PHP:
<?php

$connect = mysql_connect('localhost', 'root', 'password', 'project-admin') or die('Fehler bei Datenbankverbindung');
    $sql = "CREATE TABLE projects (".
           "date varchar(8),".
           "titel varchar(20),".
           "index varchar(30)".
           ")";
    $abc = mysql_query($sql, $connect) or die('Konnte Tabelle nicht erstellen');
mysql_close($connect);

?>

Ich kann keinerlei Fehler finden, und Datenbank, User und Passwort stimmen auch, trotzdem bekomme ich die Meldung "Konnte Tabelle nicht erstellen".
Also Verbindung steht ja, aber woran liegt es dann, das ich nicht schreiben kann?
Bitte um Hilfe :-(
LG Vitus
 
Musst Du nicht zuerst eine Datenbank auswählen, bevor Du eine Tabelle schreiben kannst?
 
Ich dachte nicht, da ich mich ja mit mysql_connect bereits auf die Datenbank "project-admin" beziehe.
Achja, meine Serverversionen:
PHP: 5.3.1
MySQL: 5.1.41
 
Nein, mit mysql_connect() verbindest Du Dich nur zu der mySQL-Instanz.
Die Datenbank wählst Du mit mysql_select_db() aus.
 
Funkt leider trotzdem nicht
Habe die mysql_select_db() Funktion eingebaut, aber das selbe Problem besteht weiterhin.
Habe jetzt aber mal per mysql_error() eine Fehlermeldung bekommen:
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 'varchar(30))' at line 1
Nochmal das jetzige Script:
PHP:
<?php

$connect = mysql_connect('localhost', 'root', '...', 'project_admin') or die(mysql_error());

    $sql = "CREATE TABLE projects (".
           "date varchar(8),".
           "titel varchar(20),".
           "index varchar(30)".
           ")";
    $db = mysql_select_db('project_admin', $connect);
    $query = mysql_query($sql, $connect) or die(mysql_error());
mysql_close($connect);

?>
:(
LG Vitus
 
Wieso ist so ein Aufbau einer Datenbank nicht üblich?

Also um mal das ganze zu Erläutern:

Ich habe mir vor kurzem XAMPP installiert, und möchte nun alle meine Website Projekte im htdocs ordner ablegen.
Da ich PHP schließlich lernen möchte, wollte ich eine Art Projektadmin schreiben:

Ich kann über zwei Textfelder Titel und Index (von der Startdatei) eines Projektes angeben, welche dann so verrechnet werden, dass Pfad, Datum und Titel in einer DB gespeichert werden. Ausserdem soll automatisch ein Ordner des Typs 20100120_titel angelegt werden, in dem sich das Projekt befindet.

Die Datenbank benutze ich, um auf der Projektstartseite eine Liste aller meiner Projekte zu anzulegen und auch schnell zu einem wechseln kann.

MfG Vitus
 
Okay,
nunja, ich habe angefangen das Buch "PHP & MySQL - Von Kopf bis Fuß" zu lesen, und versuche neben den gezeigten Beispielen zusätzlich noch eigene Scripte mit dem gelernten zu schreiben.
Im Beispiel wurde ein Newsletter beschrieben, ich dachte mir, ich könnte es ganz gut auf mein Projektadmin anwenden. Der DB Aufbau ist eigendlich gleich, nur eben andere Spaltennamen und Werte.

Wie gesagt leider funktioniert der Code immer noch nicht...
weiss niemand noch etwas dazu?

Ansonsten würde ich versuchen die Tabelle mit PHPMyAdmin anzulegen, wobei ich das irgendwie nicht hinbekomme da ich in diese NULL-Werte etc. noch nicht eingeweiht bin. Wie kann ich ganz einfach und schnell eine Tabelle im Admin erstellen? :(

Vielen Dank für eure Tipss und Hilfe! Die von freak 131 vorgeschlagenen DB Systeme werde ich mir mal ansehen wenn ich etwas fortgeschrittener bin und die genauen Unterschiede besser verstehe.

MfG Vitus
 
Im Grunde ist HeidiSql ein stabiles PHPMyAdmin. Komplizierter ist es nicht.
Versuch mal eine Tabelle mit HeidiSql anzulegen - du wirst sehen das es sich lohnt.

Das du die Beispiele durcharbeitest finde ich super - so hat jeder mal angefangen.
 
OK, dann probiere ich HeidiSQL mal aus :grin:

Sollte ich da eher den Installer verwenden oder Sourcecode? Und wenn ich XAMPP verwende, welchen Installationspfad sollte ich wählen? Den wo auch phpmyadmin und mysql drin liegen? Google bringt mir leider nichts raus was die beiden verbindet...

LG Vitus
 
HeidiSql ist ein normales Programm, du wählst den Installer (.exe) klickst drauf und installierst es auf deinem PC.

dann kannst du dich mit einem MySql Server verbinden.
 
Zurück
Oben