Query was empty?

alive

Erfahrenes Mitglied
Wo ist der Fehler, er sagt mir immer das der Query empty ist, obwohl aber viele Einträge in der Db sind...
PHP:
include ("mysql/mysql.php") ;
$r = "SELECT * FROM at_login WHERE login_name = $login_name" ;
$r_1 = mysql_query($r_1) or die(mysql_error()) ;
$e = mysql_query("SELECT * FROM at_login ORDER by id DESC LIMIT 1");
$a = mysql_fetch_array($e) ;
$id = $a[id] + 1 ;
if (mysql_num_rows($r) == 0) {
$insert = "INSER INTO at_login (login_pass, login_name, id, isadmin) VALUES ('$login_pass', '$login_name', '$id', '0')";
$insert2 = "INSER INTO at_users (user, id, email) VALUES ('$login_name', '$login_name', '$id', '$mail')";
mysql_query($insert) ;
mysql_query($inser2) ;
cu alive!
 
also am besten gewöhnste dir mal an deine Variablen auch richtig zu benennen das wird dir beim debugen jede menge Zeit sparen!

PHP:
$r = "SELECT * FROM at_login WHERE login_name = $login_name" ;
$r_1 = mysql_query($r_1) or die(mysql_error()) ;

wenn du dir die 2 Zeilen nun ansiehst wirste feststellen das du dem Query sich selbst übergibst! ausserdem bekommst du nen mysql fehler weil du $login_name nicht als String übergibst und demzufolge Mysql denke würde das du eine spalte damit meinst!

so wäre es richtig

PHP:
$r = "SELECT * FROM at_login WHERE login_name = '$login_name'" ;
$r_1 = mysql_query($r) or die(mysql_error()) ;


dann zu diesen Zeilen
PHP:
$e = mysql_query("SELECT * FROM at_login ORDER by id DESC LIMIT 1");
$a = mysql_fetch_array($e) ;
$id = $a[id] + 1 ;


entweder du machst das limit 1 weg oder du wirst nie einen Datensatz bekommen
oder du machst das $id = $a[id] + 1 ; zu $id = $a[id];


wenn du deine Strukture genau durchgehst wirste sehen das du ein paar kleine denk Fehler im Code hast! :)

PHP:
$insert = "INSER INTO at_login (login_pass, login_name, id, isadmin) VALUES ('$login_pass', '$login_name', '$id', '0')";
$insert2 = "INSER INTO at_users (user, id, email) VALUES ('$login_name', '$login_name', '$id', '$mail')";

hier hab ich wieder etwas auszusetze! :)

eine id kommt immer an den Anfang das ist einfach so ! :) (übersichtlichkeit)

PHP:
$insert = "INSER INTO at_login (id,login_pass, login_name, isadmin) VALUES ('$id','$login_pass', '$login_name', '0')";
$insert2 = "INSER INTO at_users (id,user, email) VALUES ('$id','$login_name',  '$mail')";


wenn du dir die zeile
PHP:
$insert2 = "INSER INTO at_users (id,user, email) VALUES ('$id','$login_name', '$login_name',  '$mail')";

etwas genauer ansiehst dann wirste feststellen das es nicht möglich ist was du da vorhast!

du willst id,user,email einfügen aber übergibst id , user, user,mail

richtig wäre wieder

PHP:
$insert2 = "INSER INTO at_users (id,user, email) VALUES ('$id','$login_name', '$mail')";


am besten du schaust deinen Cde nochmal durch! :)
 
Zuletzt bearbeitet:
Zurück