SELECT Abfrage

EddieG

Erfahrenes Mitglied
hi,
ich möchte mittles einer Select Abfrage die Gruppen ID eines Users ermittlen dafür habe ich eine while schleife genutzt jedoch gibt es einen fehler welchen ich nicht sehe, da die Seite weiß bleibt.
echo's die über der while schleife ausgegeben werden, werden ohne Probleme ausgegeben.
PHP:
<?php
error_reporting(e_all);
include("_config.php");
$email = $_POST["email"];
$pw = $_POST["pw"];


//pruefung ob email und password uebereinstimmen und in tabelle vorhanden sind
$que = mysql_query("SELECT groupID FROM user WHERE Password='".mysql_real_escape_string(md5($pw))."' and Email='$email'") or die (mysql_error());

//anhand selektierter groupID wird grupp mit zugriffen gesteuert
echo $email;
while ($giZ = mysql_fetch_object($que))
{

$giD = $giZ->groupID;


    if($giD  >0)
    {        

        $now = time();
        $dat = date("Y-m-d", $now);
    
        $que2 = "UPDATE user SET lastLogin='".mysql_real_escape_string($dat)."' ";
        $que2 .= " WHERE Email='".mysql_real_escape_string($email)."'";
        $res2 = mysql_query($que2) or die (mysql_error());
        header("Location: login02a.php?groupID=".$giD."&email=".$email."");
        //Create new dir
    }
    else
    {

    /*  case "2":
        echo "<a href='login02c.php'>Hier gelangen Sie zur Gesamt&uuml;bersicht</a>";
        break;    */

        echo "Diese Gruppe existiert nicht.";
    
    }

}
?>
 
Hi,


PHP:
and Email='$email'"
ist glaub ich falsch.
Lass die SQL mal via echo ausgeben, dann wirst du es sehen.


PHP:
and Email='.$email.'"


bo
 
Ne dast ist nicht der Fehler
hatte es auch schon so stehen
PHP:
$que = mysql_query("SELECT groupID FROM user WHERE Password='".mysql_real_escape_string(md5($pw))."' and Email='".$email."'") or die (mysql_error());
aber hat nichts geändert.
 
Ich würds so machen:

$que = mysql_query('SELECT `groupID` FROM `user` WHERE `Password`= ' '.mysql_real_escape_string(md5($pw)).' ' and Email=' '.$email.' ');

Ich hoffe hab jetzt keinen Fehler reingehauen , n bischen klein der Kasten.
Also : KEINE Doppelten Anführungszeichen, das macht oft nur Ärger, besonders wenn noch JS dazukommt.
Die `` Anführungszeichen sind laut Mysql Doku die einzig Wahren :) für Spaltenbezeichner, alle anderen, oder ganz ohne, kann, muss aber nicht funktionieren.
U.u noch Werte escapen mit zusätzlichen \' vorher und nachher.
Wenn du Phpmyadmin bentutzt kannste dir den sql dadrin zusammenbauen lassen, dann php erzeugen und nur die Variablen durch '.$var.' jedesmal austauschen.
So gibts die wenigsten Fehler mit den ganzen Anführungszeichen
 
Wie lautet die query ohne mysql_query per echo?

Also echo´ mal den MYSQL Befehl!
 
da war mal was mit sonderzeichen und mysql_query...
Wenn du eh schon mit objekten arbeitest erstetz mal mysql_query durch mysqli_query


PHP:
$mysqli = new mysqli("server", "benutzer", "passwd", "datenbank");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}


$Variable1->$mysqli->real_escape_string($variable);

$sqli=('deine query');
$mysqli->query($sqli);

etc
siehe http://us.php.net/manual/en/mysqli.query.php
 
Zurück