PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem: Leeres Resultat bei Join Left unter Mysql5



kesselchen
16.03.2008, 21:16
Nabend..

vorweg:
Ich hab nun mich im grunde den ganzen mittag und nachmittag mit diesem problem beschäftigt.. hab diverse sachen durchprobiert.. habe mich dann verzweifelt an gremlin gewand.. und nun ist auch er halbwegs mit seinem rat am ende.. Er kann sich das ganze zumindest nicht erklären..

Zunächst paar Infos zum Server:
Php: PHP Version 4.4.4-8+etch4
Mysql: MySQL - 5.0.32-Debian_7etch5-log

Um es kurz zu machen..

Ich lese ne Werbekampgne aus der _gebuchte_werbung aus, und will checken, ob es im die Kampagne für den User im _reload befindet..

Bisher hab ich es ohne das join left gemacht.. halt wie beim vms 1.1 auch üblich ;)

Nun wollt ich das script aber mal komplett updaten, sodass eben auch diese umständliche konstruktion wegfallen sollte..


$holen = ("SELECT t1.* FROM vms_gebuchte_werbung AS t1 LEFT JOIN vms_reloads AS t2 ON t2.tan=t1.tan AND t2.uid=".$_SESSION['uid']." AND t2.ip='".$ip."' AND t2.bis > ".time()." WHERE t1.menge >= 1 AND t1.werbeart = 'textlinks' AND t1.status=1 AND t2.tan IS NULL ORDER BY RAND() LIMIT 1") or die(mysql_error());

while ($kampag = mysql_fetch_array ($holen)){
echo $whatever;
}

Gebe ich den Mysql Befehl manuell im phpmyadmin unter SQL ein, kommt ein leeres resultat zurück.
Das kam mir später auch schon seltsam vor..
Denn: Über die alte Variante, ähnlich der Forcedbanneranzeige im vms1.1 oder vms1.0 wie auch immer das hieß, wird eine Kampagne ausgewählt und angezeigt.

Es kommt aber noch komischer:
Ich mache einen Probeaufruf und erhalte folgende Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/domain.de/httpdocs/jojo.php on line 13

in derzeile befindet sich in diesem fall der beginn der while-schleife..

ich bin ehrlich gesagt ratlos.. gremlin konnt mir nicht weiterhelfen.. ein bekannter fwx anpasser nicht.. und ein bekannter losehoster auch nicht..

Evt kann mir ja jemand erklären, woran es liegt.. evt is ja doch die Abfrage falsch.. oder was auch immer..

Ich bin jedenfalls leider relativ ratlos :(

Genug des langen Texts..

LG
Kesselchen

Hardy
16.03.2008, 21:35
Nabend..

vorweg:
Ich hab nun mich im grunde den ganzen mittag und nachmittag mit diesem problem beschäftigt.. hab diverse sachen durchprobiert.. habe mich dann verzweifelt an gremlin gewand.. und nun ist auch er halbwegs mit seinem rat am ende.. Er kann sich das ganze zumindest nicht erklären..

Zunächst paar Infos zum Server:
Php: PHP Version 4.4.4-8+etch4
Mysql: MySQL - 5.0.32-Debian_7etch5-log

Um es kurz zu machen..

Ich lese ne Werbekampgne aus der _gebuchte_werbung aus, und will checken, ob es im die Kampagne für den User im _reload befindet..

Bisher hab ich es ohne das join left gemacht.. halt wie beim vms 1.1 auch üblich ;)

Nun wollt ich das script aber mal komplett updaten, sodass eben auch diese umständliche konstruktion wegfallen sollte..


$holen = ("SELECT t1.* FROM vms_gebuchte_werbung AS t1 LEFT JOIN vms_reloads AS t2 ON t2.tan=t1.tan AND t2.uid=".$_SESSION['uid']." AND t2.ip='".$ip."' AND t2.bis > ".time()." WHERE t1.menge >= 1 AND t1.werbeart = 'textlinks' AND t1.status=1 AND t2.tan IS NULL ORDER BY RAND() LIMIT 1") or die(mysql_error());

while ($kampag = mysql_fetch_array ($holen)){
echo $whatever;
}

Gebe ich den Mysql Befehl manuell im phpmyadmin unter SQL ein, kommt ein leeres resultat zurück.
Das kam mir später auch schon seltsam vor..
Denn: Über die alte Variante, ähnlich der Forcedbanneranzeige im vms1.1 oder vms1.0 wie auch immer das hieß, wird eine Kampagne ausgewählt und angezeigt.

Es kommt aber noch komischer:
Ich mache einen Probeaufruf und erhalte folgende Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/domain.de/httpdocs/jojo.php on line 13

in derzeile befindet sich in diesem fall der beginn der while-schleife..

ich bin ehrlich gesagt ratlos.. gremlin konnt mir nicht weiterhelfen.. ein bekannter fwx anpasser nicht.. und ein bekannter losehoster auch nicht..

Evt kann mir ja jemand erklären, woran es liegt.. evt is ja doch die Abfrage falsch.. oder was auch immer..

Ich bin jedenfalls leider relativ ratlos :(

Genug des langen Texts..

LG
Kesselchen

Du musst das ganze natürlich als mysql query aufrufen

$holen = mysql_query("SELECT t1.* FROM vms_gebuchte_werbung AS t1 LEFT JOIN vms_reloads AS t2 ON t2.tan=t1.tan AND t2.uid=".$_SESSION['uid']." AND t2.ip='".$ip."' AND t2.bis > ".time()." WHERE t1.menge >= 1 AND t1.werbeart = 'textlinks' AND t1.status=1 AND t2.tan IS NULL ORDER BY RAND() LIMIT 1") or die(mysql_error());

while ($kampag = mysql_fetch_array ($holen)){
echo $whatever;
}

Gremlin
18.03.2008, 23:34
@hardliner
Jetzt wo du es sagst *g als er mir die Datei zum anschauen geschickt hat ist mir das nicht aufgefallen :mad2: manchmal sieht man halt den Wald vor lauter Bäumen nicht *g

kesselchen
19.03.2008, 19:26
@hardliner
Jetzt wo du es sagst *g als er mir die Datei zum anschauen geschickt hat ist mir das nicht aufgefallen :mad2: manchmal sieht man halt den Wald vor lauter Bäumen nicht *g

Zustimm muss :(

LG