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:
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;
Wenn jemand eine Idee hat, dann bitte melden, bin gerade am Verzweifeln und komme mit meinem Projekt nicht vorran ...
MfG
MrManko
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;
}
}
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
MfG
MrManko