Fehlermeldung

Haensn93

Grünschnabel
hi,

ich habe folgendes Problem:
Ich möchte ein Login-Script in PHP schreiben.
hier mal das Script bei dem das Problem auftritt:

PHP:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("Host", "User", "PW"); 
if (!mysql_select_db ("phost84498", $connectionid)) 
{ 
  die ("Nein"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "benutzerdaten ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0)
{
  // Benutzerdaten in ein Array auslesen.
  $data = mysql_fetch_array ($result);

  // Sessionvariablen erstellen und registrieren
  $_SESSION["user_id"] = $data["Id"];
  $_SESSION["user_nickname"] = $data["Nickname"];
  $_SESSION["user_nachname"] = $data["Nachname"];
  $_SESSION["user_vorname"] = $data["Vorname"];

  header ("Location: intern.php");
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
} 
?>

Die Fehlermeldung lautet:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/httpd/phost/h/com/pytalhost/haensnspage/web/login.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/httpd/phost/h/com/pytalhost/haensnspage/web/login.php:21) in /srv/www/httpd/phost/h/com/pytalhost/haensnspage/web/login.php on line 36

ich hab gegoogelt und hab herausgefunden, dass das daran liegen kann, dass vor dem Anfangs-PHP-Tag oder nach den End-PHP-Tag ein oder mehrere Leerzeichen sind, hab aber keins gefunden...
kann mir da jemand weiterhelfen

Danke schon mal im voraus!
 
Zuletzt bearbeitet:
1. Bitte poste den Code PHP formatiert...
PHP:
<?php
echo "verstanden?";
?>

2. Gib doch die Fehlermeldung nicht nur mit Zeilennummer sondern auch die Zeile an...

3. Lösche doch die Daten bei der MySql verbindung... ;)
 
Lass dir den Fehler doch mal mit [phpf]mysql_error[/phpf] ausgeben:
PHP:
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '" . mysql_real_escape_string($_REQUEST["name"]) . "') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql) or die(mysql_error());

(PHP-Code bitte mittels [ php]code[ /php] formatieren!)
 
schon mal danke für eure Antworten.
ich hab mir jetzt den Fehler mithilfe von mysql_error() ausgeben lassen.
Das Resultat:
Unknown column 'Id' in 'field list'
nun hab ich aber keine Ahnung was das beduten soll, da ich mich noch nicht lange mit PHP bzw. mysql beschäftige....
 
Aber Englisch kannst du?
Code:
Unknown column 'Id' in 'field list' => Unbekannte Spalte 'Id'
D.h. die Spalte Id existiert einfach nicht. Guck nochmal im phpMyAdmin, wie die Felder korrekt heißen...
 
schon mal danke für eure Antworten.
ich hab mir jetzt den Fehler mithilfe von mysql_error() ausgeben lassen.
Das Resultat:
Unknown column 'Id' in 'field list'
nun hab ich aber keine Ahnung was das beduten soll, da ich mich noch nicht lange mit PHP bzw. mysql beschäftige....

Gib doch bitte den "dump" der db her... eigentlich müsste sie so in der art wie diese hier aufgebaut sein..

Code:
CREATE TABLE `benutzerdaten` (
  `Id` int(11) NOT NULL auto_increment,
  `Nickname` varchar(50) collate utf8_bin NOT NULL default '',
  `Kennwort` varchar(50) collate utf8_bin NOT NULL default '',
  `email` varchar(50) collate utf8_bin NOT NULL,
  `Vorname` varchar(50) collate utf8_bin NOT NULL default '',
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=5 ;

sprich der error sagt du hasst keine "Id" und so kann er nix eintragen..

mfg Spikaner

/hmpf zu langsam ^^
 
Zurück