CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
02.11.2005, 18:30:03
|
Anfänger
|
|
Registriert seit: Oct 2005
Alter: 65
Beiträge: 38
|
|
Datenbankverbindung
Hallo,
ich bin ein absoluter Anfänger in Sachen php und MySql. Ich habe mir einige Bücher gekauft und verstehe Aufbau und Struktur einer Datenbank.
Allerdings habe ich einfach Probleme mit dem aufrufen und darstellen der Datenbank.
Ich habe einmal folgendes Script abgeschrieben:
<?php
$verbindung = @mysql_connect('localhost', 'nobody','');
if (!$verbindung) {
echo 'Keine Verbindung möglich!\n';
exit;
}
$abfrage = "SELECT * from uebung ";
$erg = mysql_db_query('test1', $abfrage, $verbindung);
while
(list($Branche,$Firma) = mysql_fetch_row($erg)) {
echo '$Branche... \n';
}
mysql_close($verbindung);
?>
Beim ausführen bekomme ich Ständig Fehlermeldungen:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in E:\apachefriends\xampp\htdocs\t2.php on line 19
Was mache ich falsch? Langsam fange ich schon an zu resignieren. Vielleicht kann mir jemand helfen, bzw. den Code abgleichen!
Wäre Super!
Gruß
|
02.11.2005, 18:38:01
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Datenbankverbindung
Zitat:
Zitat von headloose
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in E:\apachefriends\xampp\htdocs\t2.php on line 19
|
Die mysql_fetch_*() Funktionen benötigen als Parameter eine gültige MySQL-Resource. Eine solche Resource liefern die die Funktionen mysql_query() / mysql_db_query(). Wenn du nun diese oder eine ähnliche lautende Fehlermeldung erhälst, bedeutet dies, dass der Wert, den du an mysql_fetch_row() übergeben hast, keine MySQL-Resource ist. Das ist normalerweise immer dann der Fall, wenn die Abfrage nicht korrekt ausgefüührt wurde. Dann liefern mysql_query() und mysql_db_query() keine MySQL-Resource sondern false.
Die entsprechende Fehlernummer liefert mysql_errno(), die Fehlermeldung erhälst du mit mysql_error():
PHP-Code:
<?php
$erg = mysql_db_query('test1', $abfrage, $verbindung);
?>
|
02.11.2005, 21:26:51
|
Anfänger
|
|
Registriert seit: Oct 2005
Alter: 65
Beiträge: 38
|
|
AW: Datenbankverbindung
Hallo,
danke für die rasche Antwort. Aber jetzt verstehe ich gar nichts mehr.
Frage: Wenn ich über phpmyadmin eine neue Datenbank einrichte, also:
Datenbankname: Test2
Tabellenname: Übung2
Tabellenfelder: ID, Name, Vorname
.. dann einen Datensatz einfüge, wo wird die db gespeichert?
Muß ich dann mit meinem "connect-Befehl" den Pfad dann angeben?
Sorry ich muß so blöd fragen, aber ich absolut noch keine Ahnung!
|
03.11.2005, 08:32:55
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Datenbankverbindung
Nein, du musst mysql_connect() lediglich den Hostnamen, auf dem der MySQL-Server liegt (normalerweise ist das localhost), den Benutzernamen und das Passwort übergeben.
Geändert von xabbuh (03.11.2005 um 08:33:26 Uhr)
|
03.11.2005, 12:30:16
|
Junior Member
|
|
Registriert seit: Oct 2002
Ort: Titting
Alter: 39
Beiträge: 251
|
|
AW: Datenbankverbindung
Hi,
wenn du noch Probleme hast schau doch mal da:
http://www.selfphp.de/funktionsrefer...l_db_query.php
sersn
stephan
__________________
Affen benutzen oft Stöckchen als Hilfsmittel...
|
08.11.2005, 18:23:01
|
Anfänger
|
|
Registriert seit: Oct 2005
Alter: 65
Beiträge: 38
|
|
AW: Datenbankverbindung
Hallo,
mußte mal eine Auszeit nehmen.
Also, ich habe den Hinweis von Deinem Link aufgenommen und folgendes script erstellt.
<?PHP
/*
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'uebung';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = '';
/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($localhost, $root, '' );
if (!$verbindung) {
echo 'Keine Verbindung möglich!\n';
exit;
}
$abfrage = 'SELECT * from firma';
$erg = mysql_db_query('uebung', $abfrage, $verbindung);
while
(list($Branche,$Firma) = mysql_fetch_row($erg)) {
echo '$Branche \n';
}
mysql_close($verbindung);
?>
Die Mysql Datenbank habe ich mit phpMyadmin erstellt. Aber es geht immer noch nicht. Es kommt die eingebaute Meldung. Keine Verbindung zur Datenbank.
Kann mir jemand eine kleine datenbank erstellen und mir mit einer Verbindung zusenden? Dann kann ich mir das mal im script anschauen
Es reicht bei der Datenbank nur zwei Felder
|
08.11.2005, 20:38:20
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Datenbankverbindung
Zitat:
Zitat von headloose
PHP-Code:
/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($localhost, $root, '' );
if (!$verbindung) {
[...]
Die Mysql Datenbank habe ich mit phpMyadmin erstellt. Aber es geht immer noch nicht. Es kommt die eingebaute Meldung. Keine Verbindung zur Datenbank.
|
Das liegt ganz einfach daran, dass du den Rückgabewert in $db speicherst, aber hinterher auf die Variable $verbindung prüfst.
|
09.11.2005, 08:55:16
|
Anfänger
|
|
Registriert seit: Nov 2005
Ort: Friedrichsdorf
Alter: 45
Beiträge: 31
|
|
AW: Datenbankverbindung
Zitat:
Zitat von xabbuh
Das liegt ganz einfach daran, dass du den Rückgabewert in $db speicherst, aber hinterher auf die Variable $verbindung prüfst.
|
Moin moin zusammen!
sorry xabbuh, aber ich denke da sind schon vorher ein paar Fehler...
Zuerst weist du verschiedenen Variablen die Zugangsdaten zu deiner Datenbank zu:
PHP-Code:
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'uebung';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = '';
Das ist soweit korrekt.
Jetzt baust du mit mysql_connect die Verbindung auf:
PHP-Code:
/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($localhost, $root, '' );
if (!$verbindung) {
echo 'Keine Verbindung möglich!\n';
exit;
}
Und in diesem Teil geht das Disaster schon los, du greifst hier auf Variablen zu, die garnicht definiert sind ($localhost, $root). Richtig wäre:
PHP-Code:
/* Erstellt Connect zu Datenbank */
$db = @mysql_connect($db_server, $db_user, $db_passwort);
/* Verbindung prüfen */
if (!$db) {
echo 'Keine Verbindung möglich!\n';
exit;
}
Deine Verbindung ist jetzt in der Variable $db gespeichert, somit kannst du innerhalb des nachfolgenden Scripts immer wieder mit $db auf die Datenbankverbindung zurückgreifen.
Deine Abfrage gestaltest du nun so:
PHP-Code:
$sql = 'SELECT * FROM firma';
$rst = mysql_db_query($db_name, $abfrage, $db);
while(list($Branche,$Firma) = mysql_fetch_row($rst)) {
echo $Branche."\n";
}
mysql_close($db);
Du musst eben darauf achten, dass du die Variablen nicht mit den ihnen zugewiesenen Werten verwechselst!
Weitere Informationen findest du hier
Bedenke aber immer, dass du nicht einfach einen Teil eines Beispiels in dein Script reinkopieren kannst und es funktioniert dann einfach so.
Ich hoffe, das ich jetzt keine Fehler reingebaut habe und alles verständlich beschrieben ist, es ist noch sehr früh ;-)
|
09.11.2005, 20:13:48
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Datenbankverbindung
Zitat:
Zitat von StefanL
sorry xabbuh, aber ich denke da sind schon vorher ein paar Fehler...
|
Ups, das habe ich ganz übersehen...
|
03.12.2005, 14:33:44
|
Anfänger
|
|
Registriert seit: Oct 2005
Alter: 65
Beiträge: 38
|
|
AW: Datenbankverbindung
Hallo,
bin immer noch nicht weiter.
Habe jetzt folgende korrektur vorgenommen:
<?PHP
/*
Allgemeine Daten fuer die Datenbankanbindung
und direkter Connect zur Datenbank. Nach
Einbindung dieses Segments kann direkt mit
MySQL-Befehlen auf die Datenbank zugegriffen
werden.
*/
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'unternehmen';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = '';
/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($localhost, $root, '' );
if (!$verbindung) {
echo 'Keine Verbindung möglich!\n';
exit;
}
$sql = 'SELECT * FROM firmen';
$rst = mysql_db_query(unternehmen, $abfrage, $db);
while(list($Branche,$Firma) = mysql_fetch_row($rst)) {
echo $Branche."\n";
}
mysql_close($db);
?>
Als Meldung kommt: 'Keine Verbindung möglich!
Muss ich irgend etwas ergänzen?
Gruß
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Ähnliche Themen
|
Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
Datenbankverbindung
|
Rudolfsport |
PHP Grundlagen |
15 |
05.11.2004 14:47:06 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:35:24 Uhr.
|