php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.03.2006, 17:23  
Neuer Benutzer
 
Registriert seit: 09.08.2005
Beiträge: 27
pullox
Standard Fehler in DB-Abfrage

Moin Leute,

ich mal wieder . Ich probiere gerade, eine eigentlich ganz simple DB-Abfrage zu starten. Leider bekomme ich hier folgende Fehlermeldung:


Parse error: syntax error, unexpected T_IF on line 12


Aber egal wie oft ich mir den Code auf den Augen zergehen lasse, ich kann keinen Fehler finden. Die Schleifen werden doch korrekt geöffnet und auch wieder geschlossen!?!

Zum Ablauf:
1. Ich öffne die DB und lese die Spalte in der der Benutzername dem des Eingabeformulars entspricht.

2. Wenn er mehr als 0 Datensätze findet, auf den das zutrifft, dann soll das Passwort aus der DB mit dem aus dem Formular verglichen werden.

3. Wenn das Passwort stimmt, dann geht es zur nächsten Seite weiter.

4. Wenn das Passwort nicht übereinstimmt, wird ein Fehler gemeldet und man kommt zur Startseite zurück.

5. Wenn die komplette Schleife nicht zutrifft, weil kein passender Datensatz gefunden wurde (<1), dann wird ein anderer Fehler gemeldet und es geht ebenfalls zurück zum Ursprung des Übels


PHP-Code:
include ("db_connect.php");

        
$error 0;

        
$sql mysql_query"SELECT * FROM mitglieder WHERE benutzer = '$benutzer'" );
        if (
mysql_num_rows($sql) > 0) {
            
$datensatz mysql_fetch_array$sql )
        
        if (
$datensatz['passwort'] == $passwort) {
            include (
"schreiben.php");
            
            } else {
            
$error 1//falsches Passwort
            
include ("index.php");
        } 
        
    } else {
            
$error 2// falscher Benutzername
            
include ("index.php");
        }
        
        
mysql_close$verbindung ); 

Vielleicht sieht jemand den Fehler und tippt mir mal auf die Schulter
pullox ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.03.2006, 17:39  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Welches ist die Zeile in der der Fehler angezeigt wird ?
Zeichne das mal in den Code per Comment ein !
__________________
Der G-Translator
Simon9990 ist offline  
Alt 22.03.2006, 17:43  
Neuer Benutzer
 
Registriert seit: 09.08.2005
Beiträge: 27
pullox
Standard

Nee das mit den Klammern passt schon.
Ich habe es gefunden:

PHP-Code:
<?php
$datensatz 
mysql_fetch_array$sql )  // HIER FEHLT EIN SEMIKOLON !!!!!

?>
Aber dennoch funktioniert das Skript nur teilweise. Die Schleife, die einen falschen Benutzernamen ausgibt, wird nie durchlaufen. Egal was falsch läuft, immer ist angeblich das Passwort falsch.

Ich bastel mal weiter. Wenn jemand mit schaut, wäre ich dankbar.
pullox ist offline  
Alt 23.03.2006, 08:03  
Erfahrener Benutzer
 
Registriert seit: 26.11.2004
Beiträge: 205
c-f-g
Standard

Versuch mal statt:

Code:
if (mysql_num_rows($sql) > 0)
Code:
if(mysql_num_rows($sql))
Ist aber nur eine Vermutung
__________________
Zitat:
Deine Signatur ist zu lang.
c-f-g ist offline  
Alt 23.03.2006, 08:12  
Gast
 
Beiträge: n/a
Standard

5 Fragen:

1. Wo kommt $benutzer her?
2. Wo kommt $passwort her?
3. Wieso "Select *"?
4. Was passiert mit if ($datensatz['passwort'] == $passwort), wenn kein Datensatz gefunden wird?
5. Warum überprüfst du nicht gleich beim Select das Passwort? where ... and passwort='$passwort'

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
 
Alt 23.03.2006, 10:08  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

register_globals vileicht..?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
 


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
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
mysql abfrage - finde fehler nicht PHP Tipps 2005-2 10 08.10.2005 14:14
Fehler bei der Abfrage webmaster_andre Datenbanken 3 04.10.2005 19:26
WHERE Falsche Abfrage? Kein MySQL Fehler PHP Tipps 2005-2 10 30.09.2005 10:43
Fehler in SQL Abfrage Datenbanken 3 22.09.2005 11:16
Where Like - Abfrage zeigt Fehler Diego1978 PHP Tipps 2005-2 3 12.08.2005 23:25
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
Fehler bei abfrage, evtl konflikt mit reservierten wörtern? Datenbanken 3 01.12.2004 10:48
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage: gibt immer Fehler zurück PHP Tipps 2004 4 04.08.2004 14:31
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
*.db mit query öffnen, \es kam zu einem fehler beim ausführen einer db-anfrage:\, fehler in db

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