SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.06.2004, 19:59:04
Corvin Corvin ist offline
Junior Member
 
Registriert seit: May 2004
Alter: 54
Beiträge: 350
Probleme mit Abfrage

Bei diesem Script:

PHP-Code:
<?php 
session_start 
(); 
include(
"db.php");

$sql "SELECT "
    
"nickname, rang, vorname, nachname, geburtstag, homepage, email, icq"
  
"FROM "
    
"benutzerdaten "
  
"WHERE "
    
"(Nickname like '".$_REQUEST["name"]."') AND "
    
"(Kennwort = '".$_REQUEST["pwd"]."')"
$result mysql_query ($sql); 

if (
mysql_num_rows ($result) > 0

  
$data mysql_fetch_array ($result);  
  
$_SESSION["user_rang"] = $data["rang"];
  
$_SESSION["user_nickname"] = $data["Nickname"]; 
  
$_SESSION["user_nachname"] = $data["Nachname"]; 
  
$_SESSION["user_vorname"] = $data["Vorname"];
  
$_SESSION["user_geburtstag"] = $data["geburtstag"]; 
  
$_SESSION["user_email"] = $data["email"]; 
  
$_SESSION["user_homepage"] = $data["homepage"]; 
  
$_SESSION["user_icq"] = $data["icq"]; 
  
  
header ("Location: intern.php"); 

else 

  
header ("Location: formular.php"); 

?>
erhalte ich diese Fehlermeldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web293/html/tutorial-scripte/newsscript/login.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web293/html/tutorial-scripte/newsscript/login.php:14) in /home/www/web293/html/tutorial-scripte/newsscript/login.php on line 30

Woran liegt das? Was habe ich falsch gemacht?
Mit Zitat antworten
  #2  
Alt 09.06.2004, 20:54:00
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: Probleme mit Abfrage

Zitat:
Original geschrieben von Corvin Gröning
Woran liegt das? Was habe ich falsch gemacht?
Zwischen icq und FROM fehlt ein Leerzeichen. Deshalb ist $result nicht gültig, mysql_num_rows wirft einen Fehler und header funktioniert wegen der Fehlermeldung nicht, weil sie schon Content ist.
Mit Zitat antworten
  #3  
Alt 09.06.2004, 21:11:20
Corvin Corvin ist offline
Junior Member
 
Registriert seit: May 2004
Alter: 54
Beiträge: 350
Danke, das klappt! Nun habe ich das nächste Problem, eigentlich sollte er ja die Sessionvariablen zuweisen und dann auf intern.php umleiten, dies tut er aber nicht, sondern leitet wieder auf formular.php um, obwohl user und passwort richtig eingegeben wurde.
Mit Zitat antworten
  #4  
Alt 10.06.2004, 10:17:10
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Bei Deiner Abfrage können mehr als 1 Datensatz zurückgegeben werden -> LIMIT 1 anhängen.

Was gibt denn mysql_num_rows($result) zurück? Füge mal ein:
$rows = mysql_num_rows($result);
echo $rows; // nur zur Prüfung; danach geht header() nicht mehr
Mit Zitat antworten
  #5  
Alt 10.06.2004, 13:53:16
Corvin Corvin ist offline
Junior Member
 
Registriert seit: May 2004
Alter: 54
Beiträge: 350
Es wird 1 zurückgegeben.
Mit Zitat antworten
  #6  
Alt 10.06.2004, 14:57:23
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Dann lege mal ein echo vor:
header ("Location: intern.php");

... um zu sehen, ob er dahin kommt. Wenn ja, auch direkt hinter die Zeile, um das Problem einzugrenzen.
Mit Zitat antworten
  #7  
Alt 10.06.2004, 15:02:11
Corvin Corvin ist offline
Junior Member
 
Registriert seit: May 2004
Alter: 54
Beiträge: 350
Vielen Dank für den Tipp! Ich habe mittles dieser Methode jetzt das Problem gefunden. Es war in der in intern.php eingebunden Datei ein Fehler mit der Umleitung.
Mit Zitat antworten
  #8  
Alt 10.06.2004, 15:04:44
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi Corvin,

die Verrenkungen mit den Anführungszeichen " beim SQL-String brauchst Du nicht.

Obacht, Du sprichst Feldnamen, wie z.B. "nickname", klein- und grossgeschrieben an! (Auch bei der Zuweisung der Sessionvariablen -> $data['feldname']...)

Als Vergleichsoperator benutzt Du "=" und "LIKE". "LIKE" benutzt man eigentlich im Zusammenhang mit den Platzhalterzeichen "%" und "_".

Die Klammern in der WHERE-Klausel solltest Du nochmal überdenken...
Code:
$sql = "SELECT 
           nickname, kennwort, rang, vorname, nachname, geburtstag, homepage, email, icq 
       FROM 
           benutzerdaten 
       WHERE 
           (Nickname like '".$_REQUEST["name"]."')
       AND  
           (Kennwort = '".$_REQUEST["pwd"]."')
       ";
Gruss

chris17
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:37:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt