Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] Bedingung in IF wird nicht korrekt behandelt

MrManko

Nicht mehr ganz neu hier

Hallo Forum, ich mal wieder,

Diesmal habe ich ein Problem mit einer IF Abfrage, bei der ich mir einfach noch nicht erklären kann, warum sie nicht funktioniert, bzw. warum der else Zweig ausgeführt wird. Am besten ich zeige euch mal den Quellcode:

PHP:
public function query($query) {
    $exp = explode(' ', $query, 2);
    
    echo $exp[0]; // Gibt SELECT aus
    
    if($exp[0] == "SELECT" or $exp[0] == "select") { // Wird nicht ausgeführt oO
        $ret = array();
        $k = 0;
        $res = mysql_query($query);
        $this->count = mysql_num_rows($res);
        $num = mysql_num_fields($res);
        while ($row = mysql_fetch_array($res, MYSQL_BOTH)) {
            for($i = 0; $i < $num; $i++) {
                $index = mysql_field_name($res, $i);
                if(@array_key_exists($index, $ret[$k])) {
                    $new_index = $this->double_index($index, $ret[$k]);
                    $ret[$k][$new_index] = $row[$i];
                } else {
                    $ret[$k][$index] = $row[$i];
                }
            }
            $k++;
        }
                        
        return $ret;
                        
    } else { // Wird ausgeführt
        mysql_query($query) or die(mysql_errno().mysql_error());
        $this->last_id = mysql_insert_id();
        if (mysql_affected_rows() > 0)
            return true;
        else
            return false;
    }
}
Das wirklich merkwürdige ist, dass der else Zwei ausgeführt wird, obwohl eine Überprüfung erbracht hat, dass $exp[0] SELECT ausgibt.

Hier auch nochmal der Aufruf der Methode mit dem Querystring;

PHP:
    $db = DBInterface::getInstance('mysql');
    $db->connect('localhost','root','','shop');
    
    $res = $db->query('
        SELECT produkte.id, 
            kategorien.id, 
            unterkategorien.id, 
            produkte.name, 
            bestand, 
            video_link, 
            foto, 
            preis, 
            beschreibung, 
            kategorien.name, 
            unterkategorien.name, 
            einheit, 
            faktor, 
            tbl_name, 
            info_name 
        FROM 
            produkte 
        LEFT JOIN 
            kategorien 
        ON 
            kategorien.id = produkte.kategorie 
        LEFT JOIN 
            unterkategorien 
        ON 
            unterkategorien.id = produkte.u_kategorie 
        LEFT JOIN
            mwst_klasse
        ON
            mwst_klasse.id = produkte.mwst_klasse
        LEFT JOIN
            produkt_info_kat
        ON
            produkt_info_kat.id = produkte.info
        WHERE
            produkte.id = "Frische-Fische-Fischen"
    ');
    
    echo "<pre>";
    print_r($res);
    echo "</pre>"; // Gibt 1 aus, halt der Rückgabewert aus dem else Zweig
Wenn jemand eine Idee hat, dann bitte melden, bin gerade am Verzweifeln und komme mit meinem Projekt nicht vorran ...

MfG
MrManko
 

MrManko

Nicht mehr ganz neu hier

AW:
PHP:
 Bedingung in IF wird nicht korrekt behandelt[/b]

Problem gelöst, wie kann man nur so dämlich sein ^^ Es liegt am Zeilenumbruch nach der öffnenden Klammer, wenn ich den entferne, dann läuft alles glatt ^^ 

Thema kann geschlossen werden.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben