Mailinglisten-Archive |
dhirtzbruch at hrnetzwerk.de wrote: > Ich hab ein Problem mit 'ner Kunden-Website, beim Session-Login sollen die eingegebenen Daten mit den Daten in der MySQL-DB verglichen werden, dabei kommt immer folgende Fehlermeldung: > > Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in //neptun\domains\domains work\mtw\work\inc\inc_userdata.php on line 28 > > Hier der Code (Fehlermeldungen gekürzt, deshalb fehlen zwei Zeilen): > > --- > 11. $connect = mysql_pconnect($host,$username,$pass); > 12. if (!$connect) > 13. { > 14. echo "Fehler!<br />".mysql_error(); > 16. } > 17. else > 18. { > 19. $select = mysql_select_db($db_name,$connect); > 20. if (!$select) > 21. { > 22. echo "Fehler!<br />".mysql_error(); > 24. } > 25. else > 26. { > 27. $pw_get = mysql_query("SELECT pw_md5 FROM $tbl_1 WHERE user=$usr_e"); > 28. while($row=mysql_fetch_array($pw_get)) {$pw_md5=$row["pw_md5"];} > 29. } > 30. } > --- du musst auch nach dem mysql_query() auf Fehler überprüfen! wenn '$usr_e' ein string ist dann fehlen da die '' in jedem Fall fehlt die Validierung ( SQL-Injection ) http://faq.phpbar.de/index.php/Injection#SQL-Injection <?php $sql = "SELECT pw_md5 FROM $tbl_1 WHERE user=$usr_e"; if ( ! $connect = mysql_pconnect( $host, $username, $pass ) ) { echo "Fehler!<br />".mysql_error(); } elseif ( ! $select = mysql_select_db( $db_name, $connect ) ) { echo "Fehler!<br />".mysql_error(); } elseif ( ! $pw_get = mysql_query( $sql ) ) { echo "Fehler!<br />".mysql_error(); } else { $pw_md5 = mysql_fetch_result( $pw_get, 0 ); } ?> -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive