Datenbankabfrage

Moritz Zbocna

Mitglied
Hallo liebe Ayomers,
Ich bin noch total der noob auf dem Gebiet MySQL und deshalb brauche ich mal eure Hilfe!

Ich kriege meine Datenbank die ich im PHPmyAdmin erstellt habe nicht per PHP abgefragt. Warum? Der Code sieht so aus:
CODE <?
mysql_connect("localhost",
"username","********")or die
("Keine Verbindung moeglich");
mysql_select_db("aggro-stk") or die
("Datenbank gibbet nich!");
?>

<?
$abfrage = "SELECT * FROM db1";
?>

<?
$ergebnis = mysql_query($abfrage);
?>

<?
echo "$ergebnis";
?>



Mir würde auch helfen, wenn mir einer nen Code reinstellt, wie es richtig geht!
Danke schonmal im Vorraus!

Moritz
 
QUOTE (Moritz Zbocna @ So 19.6.2005, 13:15)[...]
Mir würde auch helfen, wenn mir einer nen Code reinstellt, wie es richtig geht!
Danke schonmal im Vorraus!
[...]

Wobei bleibt es den hängen bzw. was wird ausgegeben?


Bei dem Quellcode werden ja auch keinerlei Daten aus der Datenbank ausgegeben, hier kurz ein besseres Beispiel:


CODE <?php

$serverid = mysql_connect("localhost", "username", "********")or exit("Keine Verbindung moeglich");
mysql_select_db("aggro-stk", $serverid) or exit("Datenbank gibbet nich!");

$abfrage = "SELECT * FROM db1";
$ergebnis = mysql_query($abfrage, $serverid);
while($ausgabe = mysql_fetch_assoc($ergebnis)){
echo $aufgabe['table_field1'];
echo ' - '
echo $aufgabe['table_field2'];
echo '<br />';
}

?>


Man kann statt localhosot auch die IP-Adresse (127.0.0.1) benutzen, um einen Fehler durch ein DNS-Problem auszuschließen.
die() ist nur ein Alias für exit(), ich habe mir abgewöhnt die() zu benutzen, darum habe ich es ersetzt. Nebenbei solltest du angewöhnen den PHP-Beginnt mit <?php zu beginnen, dies kann unter anderem Problem mit Providern vermeiden.


MfG Sascha Ahlers
 
bei Fehlerbeschreibungen sollte man generell mal im Auge behalten:
- was soll das Programm erledigen.
- was macht das Programm stattdessen.

Wenn Fehler kommen, welche Fehlermeldungen.
Bei MySQL und auch den meisten anderen Datenbanken kann man bei PHP noch ein or die ( mysql_error() ) anfügen. Ausserdem ist das komplette abgesendete Query hilfreich.

Deine Abfrage würde mit den Tipps mal ca. so aussehen:

<?php
$abfrage = "SELECT * FROM db1";
echo $abfrage;
$ergebnis = mysql_query($abfrage) or die (mysql_error());
?>

jetzt wäre die ausgabe des kompletten Scripts noch hilfreich, also was wird dir im Browser angeigt wird. Aber nicht einfach eine komplette Seite sondern nach Möglichkeit die relevanten Stellen raussuchen
wink.gif
 
Hallo ihr,
Danke schoneinmal für eure Tipps. Ich habe jetzt nur noch mal nen paar Fragen
tongue.gif


1. Du sagtest man könne auch die IP angeben, anstatt localhost. Aber wie finde ich die IP von meinem Webspace heraus?

2. Ich habe es nochmal versucht und da kam nach der Beschreibung vom Sascha nur "Datenbank gibbet nich!" raus! Obwohl die da ist...

3. Ich Teste meine Tabellen zur Zeit immer online, aber ich will die auch offline auf meinem Rechner abfragen. Ich habe mir den XAMPP Apacheserver Installiert, nur weiß ich nicht, wie ich das da mit dem MySQL mache.

Ich hoffe ihr kennt die Antworten auf meine Fragen. Auch wenn ich nerve
rolleyes.gif


Moritz
 
QUOTE (Moritz Zbocna @ Mo 20.6.2005, 21:45) [...]
1. Du sagtest man könne auch die IP angeben, anstatt localhost. Aber wie finde ich die IP von meinem Webspace heraus?
[...]

Wenn die Datenbank auf den gleichen Rechner ist, kannst du "127.0.0.1" nehmen, ansonsten musst du halt mit nslookup den DNS-Namen umwandeln:


CODE nslookup domain.tld



MfG Sascha Ahlers
 
QUOTE (Moritz Zbocna @ Mo 20.6.2005, 22:45) 3. Ich Teste meine Tabellen zur Zeit immer online, aber ich will die auch offline auf meinem Rechner abfragen. Ich habe mir den XAMPP Apacheserver Installiert, nur weiß ich nicht, wie ich das da mit dem MySQL mache.

An sich ist das ganz einfach. Wenn du den Apachen startest, wird beim XAMPP an sich auch mysql gestartet. Dann kannst du die Datenbank einfach benutzen. Zugangsdaten sind meine ich localhost und Rest einfach Leerstring (ggf. bei User "root", bin mir grad nicht sicher).
Datenbanken erstellen kannst du dann zB mit phpmyadmin ( müsste http://localhost/phpmyadmin sein, ansonsten eben auf http://localhost/xampp/index.php aufrufen und Link folgen. )

Und solltest du das Beispiel von Sascha testen, beachte dass es in der while-Schleife nicht $aufgabe sondern $ausgabe heißen muss.
 
Hi,
Vielen dank für eure Antworten. Ich werd mir das Tut jetzt 1000 mal durchlesen
cool.gif
falls ich noch fragen habe poste ich die hier!

BIG THX!
Moritz
 
So nochmal ne neue Frage
rolleyes.gif
(auch nur ganz kurz)

Wenn ich bei meinem lokalen PHPmyAdmin eine Datenbank erstellen will, muss ich eine Kollation angeben. Was muss ich da einstellen... Habe dazu noch nix gefunden, und bei meinem Webspace ist das auch anders. Da muss ich nur einen Namen eingeben.

Danke schonmal im vorraus!
 
Müsste der Zeichensatz mit gemeint sein.
Also kannst da zB "latin1_german_ci" eintragen.
 
Zurück
Oben