Fehler bei Datenabfrage

Fehler bei Datenabfrage

am 22.04.2006 09:17:25 von Josef Langenegger

Hallo

In einem Script bekomme ich immer folgende Fehlermeldung und kriege sie
einfach nicht weg.

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
in /home/langi/public_html/Fotovoting/anmelden.php on line 164
SELECT * FROM top_admin falsch
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
in /home/langi/public_html/Fotovoting/anmelden.php on line 177




Das entsprechende Script sieht so aus (Ausschnitt).
$sql="SELECT * FROM top_admin";

$ergebnis=mysql_query($sql, $db);

if($ergebnis) {

while($zeile =mysql_fetch_array($ergebnis)) {

$webemail = $zeile["email"];

}

mysql_free_result($ergebnis);

} else {

echo "$sql falsch";

}

$session = md5($anm_user);

$sql ="INSERT INTO $db_table14 (user,password,email) VALUES
('$anm_user','$password1','$email')";

if(mysql_query($sql, $db))


Die Datenbank ist korrekt eingerichtet. Woran kann dieser Fehler liegen?

Besten Dank für die Hilfe.

Mit Gruss
Josef

Re: Fehler bei Datenabfrage

am 22.04.2006 11:06:49 von Carsten Wiedmann

Josef Langenegger schrieb:

> In einem Script bekomme ich immer folgende Fehlermeldung und kriege sie
> einfach nicht weg.
>
> Warning: mysql_query(): supplied argument is not a valid MySQL-Link
> resource in /home/langi/public_html/Fotovoting/anmelden.php on line 164
>
> Das entsprechende Script sieht so aus (Ausschnitt).
> $sql="SELECT * FROM top_admin";
>
> $ergebnis=mysql_query($sql, $db);

Der 2.Parameter von mysql_query() ist die Link resource. Ergo:
Wo kommt "$db" her und was enthält diese Variable tatsächlich zu diesem
Zeitpunkt?

Gruß
Carsten

Re: Fehler bei Datenabfrage

am 22.04.2006 20:55:30 von Josef Langenegger

"Carsten Wiedmann" schrieb im Newsbeitrag
news:4449f22f$0$18268$9b4e6d93@newsread2.arcor-online.net...
> Josef Langenegger schrieb:
>
>> In einem Script bekomme ich immer folgende Fehlermeldung und kriege sie
>> einfach nicht weg.
>>
>> Warning: mysql_query(): supplied argument is not a valid MySQL-Link
>> resource in /home/langi/public_html/Fotovoting/anmelden.php on line 164
>>
>> Das entsprechende Script sieht so aus (Ausschnitt).
>> $sql="SELECT * FROM top_admin";
>>
>> $ergebnis=mysql_query($sql, $db);
>
> Der 2.Parameter von mysql_query() ist die Link resource. Ergo:
> Wo kommt "$db" her und was enthält diese Variable tatsächlich zu diesem
> Zeitpunkt?
>
> Gruß
> Carsten
>

Sorry, ich bin PHP Anfänger.
Wie kann ich das feststellen?
"$db" erscheint in diesem Script vorher nirgends.

Mit Gruss
Josef

Re: Fehler bei Datenabfrage

am 22.04.2006 21:17:38 von Josef Langenegger

"Josef Langenegger" schrieb im Newsbeitrag
news:444a7c1e$0$149$fb624d75@newsspool.solnet.ch...
>
> "Carsten Wiedmann" schrieb im Newsbeitrag
> news:4449f22f$0$18268$9b4e6d93@newsread2.arcor-online.net...
>> Josef Langenegger schrieb:
>>
>>> In einem Script bekomme ich immer folgende Fehlermeldung und kriege sie
>>> einfach nicht weg.
>>>
>>> Warning: mysql_query(): supplied argument is not a valid MySQL-Link
>>> resource in /home/langi/public_html/Fotovoting/anmelden.php on line 164
>>>
>>> Das entsprechende Script sieht so aus (Ausschnitt).
>>> $sql="SELECT * FROM top_admin";
>>>
>>> $ergebnis=mysql_query($sql, $db);
>>
>> Der 2.Parameter von mysql_query() ist die Link resource. Ergo:
>> Wo kommt "$db" her und was enthält diese Variable tatsächlich zu diesem
>> Zeitpunkt?
>>
>> Gruß
>> Carsten
>>
>
> Sorry, ich bin PHP Anfänger.
> Wie kann ich das feststellen?
> "$db" erscheint in diesem Script vorher nirgends.
>

Zu diesem Zeitpunkt ist aus meiner Sicht folgende Variable enthalten:

$db = @MYSQL_CONNECT($db_server,$db_user,$db_password) or die ("Konnte keine
Verbindung zur Datenbank herstellen");

$db_check = @MYSQL_SELECT_DB($db_name);

?>



> Mit Gruss
> Josef
>
>

Re: Fehler bei Datenabfrage

am 22.04.2006 21:39:05 von Bodo Kaelberer

Abend

Josef Langenegger am Sat, 22 Apr 2006 20:55:30 +0200:

> >> $ergebnis=mysql_query($sql, $db);
> >
> > Der 2.Parameter von mysql_query() ist die Link resource. Ergo:
> > Wo kommt "$db" her und was enthält diese Variable tatsächlich zu diesem
> > Zeitpunkt?
>
> Sorry, ich bin PHP Anfänger.
> Wie kann ich das feststellen?
> "$db" erscheint in diesem Script vorher nirgends.

Dann sollte es von einem anderen Script gesetzt werden oder es fehlt
schlichtweg. In $db muss ein Wert stehen, der von einem
mysql_connect() stammt.

Und noch ein Tipp: Falls noch nicht selbst gemacht oder per Ini so
eingestellt: Aktiviere die volle Fehleranzeige:

error_reporting( E_ALL );


--
1 Bodo Kaelberer
123 http://www.webkind.de/ http://www.kaelberer-aio.de/
3 Dem Verständnis ist meist gut getan, wenn man richtig lesen
4 kann.

Re: Fehler bei Datenabfrage

am 22.04.2006 21:41:49 von Josef Langenegger

"Bodo Kaelberer" schrieb im Newsbeitrag
news:e2e0lq$h1t$1@online.de...
> Abend
>
> Josef Langenegger am Sat, 22 Apr 2006 20:55:30 +0200:
>
>> >> $ergebnis=mysql_query($sql, $db);
>> >
>> > Der 2.Parameter von mysql_query() ist die Link resource. Ergo:
>> > Wo kommt "$db" her und was enthält diese Variable tatsächlich zu diesem
>> > Zeitpunkt?
>>
>> Sorry, ich bin PHP Anfänger.
>> Wie kann ich das feststellen?
>> "$db" erscheint in diesem Script vorher nirgends.
>
> Dann sollte es von einem anderen Script gesetzt werden oder es fehlt
> schlichtweg. In $db muss ein Wert stehen, der von einem
> mysql_connect() stammt.
>
> Und noch ein Tipp: Falls noch nicht selbst gemacht oder per Ini so
> eingestellt: Aktiviere die volle Fehleranzeige:
>
> error_reporting( E_ALL );
>
>
> --
> 1 Bodo Kaelberer
> 123 http://www.webkind.de/ http://www.kaelberer-aio.de/
> 3 Dem Verständnis ist meist gut getan, wenn man richtig lesen
> 4

Ist ja wie folgt drin (siehe mein letzter Beitrag)

>$db = @MYSQL_CONNECT($db_server,$db_user,$db_password) or die ("Konnte
>keine
Verbindung zur Datenbank herstellen");

$db_check = @MYSQL_SELECT_DB($db_name);

Mit Gruss
Josef

Re: Fehler bei Datenabfrage

am 22.04.2006 22:06:04 von Thomas Rachel

Josef Langenegger wrote:

> $db = @MYSQL_CONNECT($db_server,$db_user,$db_password) or die ("Konnte
> keine Verbindung zur Datenbank herstellen");

> $db_check = @MYSQL_SELECT_DB($db_name);

Und die sind wirklich groß geschrieben? Dann könnte das ein starkes Indiz
dafür sein, daß das der Grund ist.

Bitte aktiviere am Anfang des Skriptes

error_reporting( E_ALL );

..

Zusätzlick kannst Du an den ensprechenden Stellen mit var_dump() oder
print_r() den Wert von $db und $db_check ausgeben lassen, evtl. auch
noch prüfen und das Programm "gescheit" beenden, sprich: mit Information
des Benutzers und/oder des Admins, was da grad schief lief.


Thomas
--
"Baden ist hier verboten!", erklärt der Polizist einer jungen Frau.
"Warum haben Sie das nicht gesagt, bevor ich mich ausgezogen habe?"
"Ausziehen ist nicht verboten..."

Re: Fehler bei Datenabfrage

am 22.04.2006 22:34:57 von Helmut Chang

Thomas Rachel schrieb:

>> $db = @MYSQL_CONNECT($db_server,$db_user,$db_password) or die ("Konnte
>> keine Verbindung zur Datenbank herstellen");
>
>> $db_check = @MYSQL_SELECT_DB($db_name);
>
> Und die sind wirklich groß geschrieben? Dann könnte das ein starkes Indiz
> dafür sein, daß das der Grund ist.

Nein. Funktionsnamen sind in PHP Case-Insensitiv. Guter Stil ist es
trotzdem nicht.

> Bitte aktiviere am Anfang des Skriptes
>
> error_reporting( E_ALL );

Das hilft in dem Fall nix, wegen dem '@' vor dem Funktionsaufruf. Das
sollte man auch wegnehmen zum debuggen. Dafür sollte eigentlich 'or
die()' greifen, wenns beim Connect nicht hinhaut.

gruss, heli