php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 20.09.2005, 17:20  
b++
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 181
b++ befindet sich auf einem aufstrebenden Ast
Standard MySQL Problem

Hallo,
ich bins mal wieder. Ich bastle gerade ein TOP10 Download Script welches die 10 am meisten heruntergeladenen Dateien anzeigt. Dieses Script hat eine kleine Besonderheit den vorher müssen noch ein paar Daten von einer Tabelle in eine andere geschrieben werden. Mein Problem ist das ich bei den ersten beiden While Schleifen immer folgenden Error bekomme:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/bmc/top10.php on line 26

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/bmc/top10.php on line 40

Das ist ja nicht ungewöhliches nur bei der letzten While Schleife die das eigentliche Endergebnis ausgibt kommt dieser Error nicht obwohl er bis auf den Query genau gleich ist.

Hier mein Script:

PHP-Code:
<?php
$connect 
mysql_connect($server$user$pw);
$db mysql_select_db("web11");
$sql "SELECT * FROM `pml_movieprop` WHERE PropID = 3";
$result mysql_query($sql);
echo 
$result;
mysql_close();
while(
$row=mysql_fetch_assoc($result)) {
                 
$connect mysql_connect($server$user$pw);
                
$db mysql_select_db("web11");
                
$sql "UPDATE `pml_movielink` SET name = '".$row['Property']."'WHERE MovieID=".$row['MovieID'];
                
$result mysql_query($sql);
                
mysql_close();
}


$connect mysql_connect($server$user$pw);
$db mysql_select_db("web11");
$sql "SELECT * FROM `pml_movieprop` WHERE PropID = 17";
$result mysql_query($sql);
mysql_close();
while(
$row=mysql_fetch_assoc($result)) {
                 
$connect mysql_connect($server$user$pw);
                
$db mysql_select_db("web11");
                
$sql "UPDATE `pml_movielink` SET image = '".$row['Property']."'WHERE MovieID=".$row['MovieID'];
                
$result mysql_query($sql);
                
mysql_close();
}





$connect mysql_connect($server$user$pw);
$db mysql_select_db("web11");
$sql "SELECT * FROM `pml_movielink` ORDER BY `DloadCount` ASC LIMIT 0, 10";
$result mysql_query($sql);
mysql_close();
while(
$row=mysql_fetch_assoc($result)) {
        print(
"<tr><td>".$row['DloadCount']."</td><td><img src=\"http://max-welt.de/bmc/pml/".$row3['Property']."\"></td><td><a href=\"http://max-welt.de/bmc/pml/popup.php?Active=Filme&&ID=".$row['MovieID']."\">".$row['Property']."</a></td></tr>");
        
        }
        
        



?>
b++ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.09.2005, 17:36  
Gast
 
Beiträge: n/a
Standard

error_reporting(E_ALL) verwenden. Im Zweifelsfall display_errors auf true setzen.
mysql_errno/mysql_error verwenden, um mysql-Fehler zu erkennen und anzuzeigen.
Im Zweifelsfall sql-Statements per echo ausgeben lassen.
Es ist nicht notwendig und eher schädlich, wenn wieder und wieder und wieder eine neue Verbindung zum Datenbankservr aufgebaut wird und web11 ausgewählt wird.

Mit JOINs kannst Du Dir die Abfragen über die while-Schleife sparen. Schneller. übersichtlicher und sow, wie es Datenbanken gerne haben.
http://www.google.de/search?&q=sql%20join
 
Alt 20.09.2005, 17:49  
b++
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 181
b++ befindet sich auf einem aufstrebenden Ast
Standard

So habe ich mal alles gemacht. Habe auch mal $result vor der 1sten while schleife ausgeben lassen.
Ich erhalte folgende Ausgabe:

Resource id #3


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/bmc/top10.php on line 29

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/bmc/top10.php on line 43

Notice: Undefined index: Property in /srv/www/htdocs/bmc/top10.php on line 61


Mein Fehler ist also noch nicht behoben! Bitte helft mir!
b++ ist offline  
Alt 20.09.2005, 17:53  
Gast
 
Beiträge: n/a
Standard

$result per echo ausgeben lassen ist Quatsch.
Das sql-Statement (nicht die Ergebnis resource) sollst Du ausgeben lassen. Also die Zeichenkette, in der SELECT/UPDATE/INSERT usq. drinsteht.
Beste Lösung ist immer noch sql JOIN lernen und verstehen.
Hier, gleich der erste link der google-Suche sieht gut aus: http://www.w3schools.com/sql/sql_join.asp

while-Schleife sparen, Mehrfachabfragen sparen, Zeit sparen, Fehler sparen.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Problem fkrauthan PHP-Fortgeschrittene 5 25.01.2008 18:18
mysql problem mit LIKE und AND kazuya Datenbanken 10 29.10.2007 21:36
MySQL kodierungs problem Mutatos Datenbanken 0 12.05.2006 20:02
MySQL Problem mit INSERT-Queries Arno Nühm Datenbanken 10 07.04.2006 16:46
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 17:02
Mysql / Array Problem marcels PHP Tipps 2006 10 23.03.2006 18:30
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] MYSQL Problem Datenbanken 4 09.02.2006 15:14
[Erledigt] Mysql + PHP und Datum Problem Datenbanken 11 31.08.2005 12:08
MySQL, PHP und ein großes Problem! Datenbanken 2 27.08.2005 10:51
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Problem MySQL 3 und 4 PHP-Fortgeschrittene 9 02.08.2005 16:45
[Erledigt] mysql installations problem Datenbanken 4 16.02.2005 18:46
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Problem mit 2 gleichzeitigen MySQL abfragen PHP Tipps 2004 2 08.07.2004 13:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql besonderheit sql-statement- datei

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.