PHP und mysql mit JOIN

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP und mysql mit JOIN

Postby WilliL » 12. January 2010 22:53

Hallo Zusammen,

ich bekomme bei dem aktuellen - XAMPP 1.7.3 Version - SQL-Abfragen mit JOINS nicht ans laufen.
die folgende Abfrage funktioniert, wenn sie im phpmyadmin eingegeben wird, nur unter php5 bekomme ich sie einfach nicht ans laufen;
Code: Select all
  <?php
$result="SELECT S.`krz`, S.`jahre`, I.`krz`
FROM `werwann` S
JOIN `spieler` I ON (S.`krz` = I.`krz`)
WHERE S.`jahre` LIKE '%200%'";   
//--------------------------------------------- bis hier in phpmyadmin i.O. Ergebnis wie erwartet
echo $result;                                   // echo s.u.
   while ($row = mysql_fetch_array($result)){   // Warning s.u.
   echo mysql_error();
      print '<p>'.$row["S.jahre"].'</p>';
   }
?>

// Echo: SELECT S.`krz`, S.`jahre`, I.`krz` FROM `werwann` S JOIN `spieler` I ON (S.`krz` = I.`krz`) WHERE S.`jahre` LIKE '%200%'
//Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\test.php on line ...

Nach einigen Stunden Suche bin ich jetzt mit meinem Latein am Ende, habe auch verschiedene Schreibweisen getestet, es sieht nach einem Kombinationsproblem bzw Einstellungsproblem aus ..
Abfragen ohne JOIN mit einer Tabelle funktionieren nach gleichem Muster einwandfrei.

Hat jemand einen Tipp für mich? Vielen Dank
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1

Re: PHP und mysql mit JOIN

Postby Nobbie » 12. January 2010 23:59

WilliL wrote:
Code: Select all
  <?php
$result="SELECT S.`krz`, S.`jahre`, I.`krz`
FROM `werwann` S
JOIN `spieler` I ON (S.`krz` = I.`krz`)
WHERE S.`jahre` LIKE '%200%'";   
//--------------------------------------------- bis hier in phpmyadmin i.O. Ergebnis wie erwartet
echo $result;                                   // echo s.u.


Meine Güte, bis Du blind (sorry, aber das muss mal sein). Du führst doch den Query überhaupt nicht aus (wie ja auch der echo zeigt), Du weist der Variable $result (die damit schon einen verdächtig blöden Namen hat) nur einen String zu, wo ein Select drin steht - aber ausgeführt wird er nicht, dazu benötigt man die Funktion mysql_query(), also beispielsweise so:

Code: Select all
  <?php
$result="SELECT S.`krz`, S.`jahre`, I.`krz`
FROM `werwann` S
JOIN `spieler` I ON (S.`krz` = I.`krz`)
WHERE S.`jahre` LIKE '%200%'";   
//--------------------------------------------- bis hier in phpmyadmin i.O. Ergebnis wie erwartet
$result = mysql_query($result);
//---- jetzt erst wird der Select auch ausgeführt!!!! - und deswegen ist es auch nicht schön,
//---- den Select schon $result zu nennen
echo $result;                                   // echo s.u.


Wirklich grausam!

WilliL wrote:Abfragen ohne JOIN mit einer Tabelle funktionieren nach gleichem Muster einwandfrei.


Neee! Nie im Leben! Ohne mysql_query() geht gar nichts!
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: PHP und mysql mit JOIN

Postby WilliL » 13. January 2010 15:45

Danke für die konstruktive Kritik und den guß mit dem Eiswasser. :oops:

Der Teil '$result="SELECT...' war ursprünglich einmal '$result = mysql_query("SELECT ..' und dann bei der Fehlersuche habe ich wohl einen Fehler mit einem anderen Fehler ausgetauscht. Hier war ich wirklich blind.

<edit:20:00h - Das ursächliche Problem war, wo kommt welcher Limiter hin `,' und warum. Jetzt funktioniert es, wie es soll - thx>
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 13 guests