weiß nicht mehr weiter

Begonnen von Dema, 24 Juni 2003, 10:20:34

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Dema

hi

Ich hab ein script gemacht aber es kommt immer die felhermeldung

Warning: mysql_fetch_array(): supplied argument is not a valid
MySQL result resource in /home/www/web1/html/dema/webspace.php
on line 11

Warning: Wrong parameter count for mysql_free_result()
in /home/www/web1/html/dema/webspace.php on line 27

kann mir einer helfen was ich falsch gemacht habe????

<?PHP
$dbi=@mysql_connect("localhost","user","passwort");
mysql_select_db("usr_web1_1") or die("Auswahl der Datenbank fehlgeschlagen");

// ausführen einer SQL Anfrage
$query = "SELECT * FROM kunden";
$result = mysql_query($query,$dbi) or die("Anfrage fehlgeschlagen");

// Ausgabe der Ergebnisse in HTML MYSQL_ASSOC
print "<table>\n";
while ($line = mysql_fetch_array($result, $dbi)) {
print "\t<tr>\n";
foreach ($line as $col_value) {

print "\t\t<td>$col_value</td>\n";
$result = mysql_query("SELECT * FORM Kunden WHERE nummer",$dbi);;
if ($result["nummer"] == $_GET["activate"]) { print "<br>es geht wirklich</br>";
print "<br>es geht nicht</br>";
}

}
print "\t</tr>\n";
}
print "</table>\n";

// Freigeben des Resultsets
mysql_free_result($result,$dbi);
#echo mysql_error();
?>

jubilee

Hallo !
1. Fehler.
Bitte beim originalen mysql_fetch_array KEINEN 2. Parameter verwenden
oder die unten angegebenen:
Dazu aus PHP-Doku:
array mysql_fetch_array ( resource result [, int result_type ] )
The optional second argument result_type in mysql_fetch_array() is a constant and can take the following values: MYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH. This feature was added in PHP 3.0.7. MYSQL_BOTH is the default for this argument.


2. Fehler
Zitatmysql_free_result ($query,$dbi)
Bei mysql_free_result darf nur ein  Parameter übergeben werden !
bool mysql_free_result ( resource result ).
MfG
jubilee



Dema

kannst du mir mal den code aufschreiben ich weiß jetzt nicht wie du das weiß ich bin doch noch ein anfänger :-(

jubilee

Hallo nochmal !
 
 
Zitat<?PHP
$dbi=@mysql_connect("localhost","user","passwort");
mysql_select_db("usr_web1_1") or die("Auswahl der Datenbank fehlgeschlagen");

// ausführen einer SQL Anfrage
$query = "SELECT * FROM kunden";
$result = mysql_query($query,$dbi) or die("Anfrage fehlgeschlagen");

// Ausgabe der Ergebnisse in HTML MYSQL_ASSOC
print "<table>\n";
while ($line = mysql_fetch_array($result))# Hier 2. Parameter entfernt  
{
print "\t<tr>\n";
foreach ($line as $col_value) {

print "\t\t<td>$col_value</td>\n";
$result = mysql_query("SELECT * FORM Kunden WHERE nummer",$dbi);;
if ($result["nummer"] == $_GET["activate"]) { print "<br>es geht wirklich</br>";
print "<br>es geht nicht</br>";
}

}
print "\t</tr>\n";
}
print "</table>\n";

// Freigeben des Resultsets
mysql_free_result($result); # Hier 2. Parameter entfernt
#echo mysql_error();
?>
 

MfG
jubilee

Andi

 $result = mysql_query("SELECT * FORM Kunden WHERE nummer",$dbi);;
if ($result["nummer"] == $_GET["activate"]) { print "es geht  

Diese 2 Zeilen sind mir noch ein Rätsel...
Was soll da passieren?
- $result  überschreibt die Variable $result, mit der die Schleife arbeitet
- if ($result["nummer"] soll aber vermutlich genau diese Variable ansprechen?
- $result["nummer"] wird aber  immer leer sein weil der mysql_fetch_array() Befehl dazu fehlt
- "SELECT * FORM Kunden WHERE nummer", diese Abfrage ist syntaktisch völlig falsch. "FORM", was ist das? Tippfehler? "WHERE nummer", da fehlt die Bedingung, (where was?)

Wenn ich das richtig verstehe, dann muss die Zeile: $result = mysql_query("SELECT * FORM Kunden WHERE nummer",$dbi);;
 
komplett raus.
Und zum Testen von scripten sollte error_reporting immer auf E_ALL stehen. Also, direkt hinter die Zeile "<?PHP"  
error_reporting(E_ALL);
schreiben ;)
Damit auch anständige Fehlermeldungen kommen....

[Editiert am 25.6.2003 von SiteAdmin Andi]
schön´s Grüssle, Andi

jubilee

Stimmt.
Die Fehler sind mir beim schnellen
durchsehen gar nicht aufgefallen.
MfG
jubilee