Fehler bei mysql_num_rows

Blattspinat

Erfahrenes Mitglied
hi ...

... bei folgendem Script bekomm ich immer nen Fehler:

PHP:
226: require("vars.php4");
227: 
228: $request = "SELECT * from $tabelle";
229: 
230: $dbverbindung = mysql_connect($sql_host,$sql_user,$sql_password);
231: 
232: $dbanfrage = "$request";
233: $result = mysql_db_query($sql_dbname, $dbanfrage, $dbverbindung);
234:
235: $number = mysql_num_rows($result);
236: 
237: $number_new = $number + 1 ;

und zwar bekomm ich immer folgenden fehler:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <pfad>file.php4 on line 235

selbst find ich da keinen Fehler ... plz HELP! :)
 
Zuletzt bearbeitet:
g
also das ist ganz einfach
dein fehler liegt hier
PHP:
$number = mysql_num_rows($result);
und zwar deshalb weil du mysql_num_rows einen mysql result liefern must und nicht das ergebnis

PHP:
$number = mysql_num_rows($result);
wird zu
PHP:
$number = mysql_num_rows($request);
 
nope ... funzt leider net ...

script sieht jetzt so aus:

PHP:
require("vars.php4");

$tabelle = $sql_board_topics_table ;

$request = "SELECT * from $tabelle";

$dbverbindung = mysql_connect ($sql_host, $sql_user, $sql_password);

$dbanfrage = "$request";
$result = mysql_db_query($sql_dbname, $dbanfrage, $dbverbindung);

$number = mysql_num_rows("$request");

$number_new = $number + 1 ;
 
ok sorry ich will da grad mal unverschämt wie ich bin ein bischen ordnung reinbringen


->
PHP:
$db_host ="localhost";
$db_user ="XXX";
$db_pass ="XXX";
$db_database ="XXX";

$conn = mysql_pconnect($db_host,$db_user,$db_pass) or die("connection failed!<br>".mysql_error());
mysql_select_db($db_database,$conn) or die("fehler".mysql_error());

// evt noch die table
$table = $sql_board_topics_table;
soviel zur verbindung!
und nun deine abfrage

PHP:
$query = "SELECT * from $table";
$result = mysql_query($query);
$number = mysql_num_rows($result) + 1;
$row = mysql_fetch_assoc($result);
echo $row[Name];
 
meiner Meinung nach ist das Script schon ok, so wie es ist. Das Problem ist nur: Wenn die SELECT-Abfrage kein Ergebnis liefert (also mysql_num_rows = 0 ist), dann meldet PHP, dass das ein ungültiger Parameter für die Funktion mysql_num_rows() ist.

Die Fehlermeldung kannst Du aber unterdrücken, indem Du direkt vor die Funktion ein @ stellst:

$number = @mysql_num_rows($result) + 1;


Dunsti
 
da hab ich nämlich auch schon dran gerätselt .... ich schau nochma ob die Select-Abfrage überhaupt was ausgibt ... Theoretisch müsste die summe 1 sein, weil ich eine Zeile in der Tabelle hab ... ich werd dann mal berichten :)

bis denne schomma danke für eure hilfe!
 
klar kann mysql_num_rows auch eine null liefern

der fehler
supplied argument is not a valid MySQL result resource
kommt meist wenn die dbverbindung nicht ok ist

wie sonicb@m schon schrieb solte man sich einfach angewöhnen mindestens bei dem verbindungsaufbau mit die(mysql_error() zu arbeiten

vorsichtige Leute setzen das auch bei den mysql_query ein :)
 
Zuletzt bearbeitet:
also mittlerweile funzts ... ich weiss net wo der fehler jetzt wirklich war... ich hab den teil des scripts einfach nochma ganz von vorne geschrieben und dann hats auch einwandfrei gefunzt!

Aber trotzdem danke für eure Bemühungen :)

Haut rein
 
Dein Fehler liegt ganz klar darin das du mysql_num_rows() nicht das Mysql ergebnis sondern ein Array des zurrückgegebenen Mysql ergebnises gegeben hast!
 

Neue Beiträge

Zurück