Seite 1 von 4
Apache - MySql - PHP - phpMyAdmin
Verfasst: 23.04.2007, 11:51
von Fightmeyer
Hallo,
ich brech mir gerade tierisch die Finger obengenannte Software auf meinem Rechner zum Laufen zu kriegen.
Der Apache funktioniert schonmal.
Php funz jetzt mittlerweile auch und MySql...naja ich habs halt installiert.
Nun wollt ich phpmyadmin starten und krieg folgende Meldung:
"Die Erweiterung mysql kann nicht geladen werden. Bitte ??ie Ihre PHP-Konfiguration. - Dokumentation"
Ich muß da mit Sicherheit noch irgendwas einstellen bzw. konfigurieren. Hab aber keinen Plan was und wo. Kann mir jemand vielleicht sagen, was ich da jetzt noch tun muß?
Gruß
Fightmeyer
EDIT: Oder gibt es womöglich ein Rundum -Sorglos-Paket, mit obengenannten Komponenten drin, daß ich komplett installieren kann.
Verfasst: 23.04.2007, 12:16
von Hans
http://www.apachefriends.org/de/xampp.html
XAMPP macht das alles automatisch, auch unter Windows.
Verfasst: 23.04.2007, 12:20
von Fightmeyer
Gott sei Dank. Das probier ich gleich mal aus. Noch eine INI-Datei mehr und ich hätt nen Anfall gekriegt.
Vielen Dank.
Verfasst: 23.04.2007, 17:36
von max_power
Ich musste damals (und auch jetzt immer wieder) auch leidvoll feststellen, dass Webserver ganz schön zickig sein können. Irgendwann gab es schonmal ein Thema, indem man sich dazu ausjammern konnte glaube ich.

Als ich letztens XAMPP installiert habe, war ich erstaunt, wie einfach das mittlerweile ist, aber wenn du dir da selbst was einstellen willst, kommst du früher oder später wieder zu irgendwelchen komplizierten Textdateien...
Verfasst: 23.04.2007, 18:26
von Fightmeyer
Da ich das nicht vorhabe...
Hat alles super geklappt.
Verfasst: 30.04.2007, 13:37
von Fightmeyer
Also ich versuch mich gerade ein wenig in PHP zurechtzufinden und habe dazu mal eine Testtabelle auf dem mysql-Server eingerichtet. Das geht ja Dank myphpadmin auch recht easy.
Abrufen der Daten via PHP und einfpgen von neuen Daten klappt auch schon ganz gut. ABER:
Die Tabelle ist völlig simpel gestrickt:
1. Spalte ID
2. Spalte Eintrag
Spalte ID hab ich als Integer definert
Spalte Eintrag als Text.
Nun habe ich zusätzlich die Spalte ID als Schlüsselspalte festgelegt.
Bei Access gibt es da ja den Typ Autowert, der dann automatisch beim Einfügen einer neuen Zeile hochzählt und automatisch die neue ID einträgt. Das klappt bei der MySQL-Tabelle aber leider nicht.
Füge ich eine neue Zeile ein und gebe lediglich den text für Eintrag mit, läßt er die Spalte ID großzügig leer. Somit hat die dann natürlich gar keinen Sinn mehr.
Ist wahrscheinlich was ganz simples, aber ich krieg es einfach nicht hin.
Ich suche quasi den Schalter, der dafür sorgt, daß die ID also der Wert in meiner Primärschlüsselspalte automatisch geschrieben wird.
Hoffe ihr könnt mir weiterhelfen.
Verfasst: 30.04.2007, 14:20
von td
AUTO_INCREMENT
Verfasst: 30.04.2007, 14:27
von Fightmeyer
Klingt logisch
Wo finde ich denn diese Einstellung? Ich hab diverse Variablentypen zur Auswahl, aber AUTO_INCREMENT wird da nirgends gelistet.
Verfasst: 30.04.2007, 16:44
von zeebee
Das ist kein Variablentyp sondern eine Eigenschaft. Als Typ z.B. Integer wählen und ein paar Felder rechts davon (in phpmyadmin) in einem Pulldown-Menü Auto_Increment wählen.
Verfasst: 30.04.2007, 17:57
von Fightmeyer
Ah. Danke. Das probier ich am Mittwoch gleich mal aus.
Verfasst: 03.05.2007, 16:26
von Fightmeyer
Das war es. Danke.
Und nun gleich wieder ne nächste Frage. Bei mir funzt der Insert Befehl irgendwie nicht. Hab wahrschienlich irgendwo irgendwas vergessen...
Hier mal der Code meiner PHP-Datei:
Code: Alles auswählen
<?php
$link = mysql_connect("localhost", "datenbankuser", "test");
mysql_select_db("test", $link);
$sql="INSERT INTO table1 (Titel) VALUES (blablabla)";
$result = mysql_query($sql);
?>
Die Datenbank heißt "test" und die Tabelle darin "table1" Selbige hat nur zwei Spalten. "ID" und "Titel".
Und nun will ich einen neuen Eintrag erstellen und den Text "blablabla" als neuen Titel eintragen. Klappt aber nicht. Die tabelle bleibt unverändert.
Ist es eigentlich nötig, daß man das so schreibt?
$result = mysql_query($sql);
Müßte da nicht auch
mysql_query($sql);
reichen? Schließlich soll ja bloß die Funktion ausgeführt werden.
Ich hab mir das alles von irgendwelchen Online-Tuts zusammengeklaut und tu mich mit der Syntax und mit der verwendeten Logik dahinter noch etwas schwer.
Verfasst: 03.05.2007, 16:51
von max_power
Nur eine kurze Antwort, da ich gleich weg muss:
Das mit dem $result = mysql_query($sql) ist schon ok. Es ist eine Funktion, aber die liefert auch einen Wert zurück. Dieser wird in $result gespeichert, muss aber nicht. Auch wenn mein PHP/MySQL-Wissen sehr eingerostet ist, müsste das stimmen. BTW. ich könnte dir ein gutes PDF zuschicken, mit dem ich damals PHP gelernt habe, da wird auch MySQL erklärt. Ist allerdings schon ein paar Jährchen alt, also für eine ältere Version.
Verfasst: 03.05.2007, 18:14
von Fightmeyer
Auja! Kann nicht schaden. Vielleicht kannste das irgendwo uppen...
Verfasst: 03.05.2007, 22:48
von zeebee
In meinen Skripten arbeite ich damit:
Code: Alles auswählen
$link = mysql_connect ($datenbank, $datenbankuser, $datenbankpass) // Verbindung zum Datenbankserver aufbauen
or die ("Verbindung fehlgeschlagen!"); // wenn fehlgeschlagen
$bdd = mysql_select_db($datenbankname,$link) // Datenbank wählen
or die ("<br>DB not found"); // wenn fehlgeschlagen
$result = mysql_query("INSERT INTO tabelle (spalte) VALUES ('$wert')")
or die ("Fehler beim schreiben in die DB");
Klappt einwandfrei.
editiert: copy & paste - brain goes waste

Verfasst: 03.05.2007, 22:59
von max_power
zeebee hat geschrieben:In meinen Skripten arbeite ich damit:
Klappt einwandfrei.
Sicher? Müsste es nicht zumindest:
Code: Alles auswählen
$result = mysql_query("INSERT INTO tabelle (spalte) VALUES ('$wert')")
or die ("Fehler beim schreiben in die DB");
sein?
Fightmeyer, werden denn irgendwelche SQL-Fehler ausgegeben? Wenn du PHP-MyAdmin benutzt, würde ich mir den SQL-Befehl einfach mal per PHP ausgeben lassen und dann mit MyAdmin ausführen, da bekommst du vielleicht eine bessere Fehlerbeschreibung.