Fortlaufende Kontonummer

Deine Namen der Tabellen dürfen nicht mit dem Singlequote umschlossen sein, sondern mit dem selben wie auch dein u und k, also dem: `

`u`.`Benutzername` nicht `u`.'Benutzername'


Noch zu etwas weiterem, man sollte Niemals! $_REQUEST['x'] einfach so in ein Query einbinden. Abgesehen davon, dass $_REQUEST selber schon nicht benutzt werden soll, sondern $_GET und $_POST, kann man so mehr als einfach Schadcode einbringen und so deine Datenbank Zerstören! Stichwort MySQL injection. Google es nach und lies ein wenig darüber.
Benutz auf jeden Fall mysql_real_escape_string() um dich abzusichern!
 
Aber da muss noch was falsch sein:

PHP:
Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '.`kontonummer` FROM `user` AS `u` INNER JOIN `kontonummer` AS `k` ON `k`' in Zeile 2

PHP:
$sql = "SELECT 
    `u`.`Id`, `u`.`Benutzername`, `u`.`Email`, `u`.`Name`, `u`.`EP`, `u`.`WP`, `u`.`privaterstatus`, `u`.`nachrichten`, `u`.`Geld`, `u`.`firmenname`, `u`.`firmenbudget`, `u`.`produkte`, `u`.`status` `k`.`kontonummer`
FROM
    `user` AS `u`
    INNER JOIN `kontonummer` AS `k` ON `k`.`userid` = `u`.`Id`
WHERE
    `u`.`Benutzername` = '".$_REQUEST["name"]."'
    AND `u`.`Passwort` = '".md5 ($_REQUEST["pwd"])."'";

$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res) == 1)
{
    $data = mysql_fetch_assoc($res);
    // in $data sind nun alle Spalten deiner beiden Tabellen vertreten. Besser ist es, wenn du im 
    // SELECT nur die Spalten auswählst, die du auch benötigst.
    // Spalten aus der Tabelle user mit `u`.`SPALTENNAME`
    // Spalten aus der Tabelle konto mit `k`.`SPALTENNAME`
}

if (mysql_num_rows ($result) > 0)

ich weiß..habe mich bereits eingelesen..ändere ich noch nach ;)
 
Gut fehler beseitigt..war wohl ziemlich blind xD

neuer Fehler:

PHP:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/web842/html/bg/2/login.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web842/html/bg/2/login.php:31) in /var/www/web842/html/bg/2/login.php on line 62
 
Du speicherst das Ergebnis des Querys in $res, willst dann aber über $result darauf zugreifen ;)

Die Zeile mit $result kannst du einfach löschen, also einfach die letzte Zeile (if...) aus dem Codeschnippsel, den du hier gepostet hast

Bitte keine Doppelposts in so kurzer Zeit. Vor allem dann, wenn nur 3 Minuten dazwischen liegen. Ein Edit ist da viel schöner ;)
 

Neue Beiträge

Zurück