php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.05.2005, 18:47  
Neuer Benutzer
 
Registriert seit: 15.04.2005
Beiträge: 26
mack|dawg
Standard mysql fehler

Hallo,

Ich habe folgendes Problem:
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a2a58bec/public_html/step1.php on line 16
Das ist der Code:
Code:
<? 
 $nickname = $nickname_var;
 $password = $password_var;
 $email = $email_var;

 if($nickname=="" OR $password=="" OR $email=="")
  {
   echo "&status=Eingabefehler:Alle Felder ausfuellen...";
   exit;
  }

 $result = mysql_query("SELECT id FROM login WHERE nickname LIKE '$nickname'");
 $menge = mysql_num_rows($result);

 if($menge==0)
  {
   $empfaenger = "$email";
   $betreff = test";
   $from = "From:test\n";
   $from .= "Reply-To: test@test.at";
   $from .= "Content-Type: text/html\n";
   $text = "Danke ".$nickname." für deine Registration.";

   mail($empfaenger, $betreff, $text, $from);

   echo "&status=Danke fuer deine Anmeldung...";
  }
  else
  {
   echo "&status=nickname/email existiert bereits...";
  }

 mysql_close($verbindung);
?>
Ich hoffe ih könnt mir helfen.
Danke imk Voraus.

mfg tommy
mack|dawg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.05.2005, 18:50  
Gast
 
Beiträge: n/a
Standard

Mach die beiden Zeilen mal so:
PHP-Code:
<?php
$result 
mysql_query("SELECT `id` FROM `login` WHERE `nickname` LIKE '".$nickname."'") or die(mysql_error());
$menge mysql_num_rows($result); 
?>

Wo wird $nickname_var definiert?


Und verwende beim nächsten Mal bitte die [ php ] -Tags. Danke.
 
Alt 28.05.2005, 18:50  
Gast
 
Beiträge: n/a
Standard

die fehlermeldung sagt, dass dein query falsch ist.
setz mal nen mysql_error() hinter den query, um eine genauere Fehlerbeschreibung zu bekommen
inetwa so:
PHP-Code:
<?php
 $result 
mysql_query("SELECT id FROM login WHERE nickname LIKE '$nickname'") or die mysql_error());
?>
 
Alt 28.05.2005, 18:50  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
PHP-Code:
$sql "SELECT feld1,feld2 FROM table WHERE id=5";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...

register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen !!
robo47 ist offline  
Alt 28.05.2005, 18:53  
Gast
 
Beiträge: n/a
Standard

Ich sehe weit und breit kein mysql_connect und mysql_select_db.

Gruß
phpfan
 
Alt 28.05.2005, 18:55  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von phpfan
Ich sehe weit und breit kein mysql_connect und mysql_select_db.

Gruß
phpfan
Öh... gut bemerkt, phpfan
Naja, ich gehe davon aus, dass Du das weiter oben im Code stehen hast, mack|dawg?
 
Alt 28.05.2005, 19:14  
Neuer Benutzer
 
Registriert seit: 15.04.2005
Beiträge: 26
mack|dawg
Standard

na kalr hab ich mysql_connect und mysql_select_db im code, aber meint ihr ich geb euch die zugangsdaten?

Leider hat bis jetzt noch nichts geholfen.

PS.: die variablen werden von einer flash seite übergeben.

mfg tommy
mack|dawg ist offline  
Alt 28.05.2005, 19:36  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von mack|dawg
na kalr hab ich mysql_connect und mysql_select_db im code, aber meint ihr ich geb euch die zugangsdaten?
Aha, und die Daten hätte man nicht mit **** einfach wegnehmen können? Es macht kaum Sinn, einen Quellocde unvollständig zu posten.

Wenn mit mysql_error nichts rauskommt, dann machst du was falsch!

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
 


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 fehler Crazystep PHP Tipps 2008 6 28.07.2008 14:55
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
mysql + confixx fehler - mysql geht plötzlich nicht mehr Datenbanken 2 31.12.2006 11:41
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
MySQL Fehler inu Datenbanken 5 11.05.2006 15:22
Fehler beim Wechsel von MySQL 4 nach 5 JK Datenbanken 2 09.12.2005 18:43
[Erledigt] Mysql Fehler Datenbanken 3 04.09.2005 16:58
mySQL Fehler Datenbanken 1 27.02.2005 13:51
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Mysql Fehler beim auslesen von Datensätzen Datenbanken 4 19.10.2004 10:05
Problem bei MYSQL / Update Resource #id Fehler PHP Tipps 2004 2 29.09.2004 13:09
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Wo ist der Fehler im Script (MySQL mit PHP) PHP Tipps 2004 15 27.07.2004 09:25
[Erledigt] MySQL fehler(?) Datenbanken 2 24.07.2004 20:10


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:50 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.