Problemy z wysyłanie danych do bazy

0

Chcąc wysłać taki kod SELECT * FROM auto WHERE marka LIKE 'skoda' && model LIKE 'felicia' && typ LIKE 'coupe' && (cena BETWEEN 111 AND 12121) && (rok BETWEEN 111 AND 999999)do mysql, wyskakuje mi taki błąd:
ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' ' at line 1 Może mnie ktoś oświecić o co w tym chodzi?</php>

0

Nie && tylko AND :P

0

Zmieniłem, ale nic to nie dało. Tak wygląda kawałek mojego kodu

if($f != "" and $g != ""){$d2="AND";}
if($f != "" or $g != ""){$d2="AND";}
if ( $a != "" and $b=="" and $c=="" and $d=="" and $e=="" and $f=="" and $g=="") { $a1 = "marka LIKE '".$a."' "; } elseif( $a!="" and $b != "" or $c != "" or $d != "" or $e != "" or $f != "" or $g != ""){ $a1 = "marka LIKE '".$a."' AND"; } else{$a1="";}
if ( $b != "" and $c=="" and $d=="" and $e=="" and $f=="" and $g=="") { $b1 = "model LIKE '".$b."' "; }  elseif($b != "" and $a != "" or $c != "" or $d != "" or $e != "" or $f != "" or $g != ""){ $b1 = "model LIKE '".$b."' AND"; } else{$b1="";}
if ( $c != "" and $d=="" and $e=="" and $f=="" and $g=="") { $c1 = "typ LIKE '".$c."' "; }  elseif($c != "" and $b != "" or $a != "" or $d != "" or $e != "" or $f != "" or $g != ""){ $c1 = "typ LIKE '".$c."' AND"; } else{$c1="";}
if ( $d != "" and $e=="" and $f=="" and $g=="") { $d1 = "(cena BETWEEN ".$d." AND 999999)"; } elseif ( $d != "" and $e ==""){ $d1="(cena BETWEEN ".$d." AND 9999999) ".$d2.""; } elseif($d != "" and $e != ""){ $d1="(cena BETWEEN ".$d." AND ".$e.") ".$d2.""; } else { $d1=""; }
if ( $e != "" and $f=="" and $g=="") { $e1 = "(cena BETWEEN 0 AND ".$e.")"; }  elseif ( $e != "" and $d==""){ $e1 = "(cena BETWEEN 0 AND ".$e.") ".$d2.""; } else{$e1="";}
if ( $f != "" and $g=="") { $f1 = "(rok BETWEEN ".$f." AND 999999)"; } elseif ($f != "" and $g != "") { $f1="(rok BETWEEN ".$f." AND ".$g.")"; } else { $f1=""; }
if ( $g != "" and $f=="") { $g1 = "(rok BETWEEN 0 AND '".$g."'"; $x=$a1."&nbsp;".$b1."&nbsp;".$c1."&nbsp;".$d1."&nbsp;".$e1."&nbsp;".$f1."&nbsp;".$g1."&nbsp;"; }  else{$g=""; $x=$a1."&nbsp;".$b1."&nbsp;".$c1."&nbsp;".$d1."&nbsp;".$e1."&nbsp;".$f1."&nbsp;".$g1."&nbsp;";}

$zapytanie= "SELECT * FROM auto WHERE $x";
$idzapytania = mysql_query($zapytanie) or die(mysql_error());
echo $x;

Jak widać echuję $x i to co mi się wyświetli przepisując bezpośrednio do Mysql i wszystko działa, więc to raczej błąd w składni zapytania nie jest, tak samo się dzieje jak $x nie równa się ciąg innych zmiennych przerywachych " ", lecz wstawię tam już gotowe zapytanie to samo z resztą to wszystko działa.

Co tutaj może być nie tak?

0

Można zamknąć, znalazłem odpowiedź. należy zamienić w $x " na ' bo w przeciwnym razie występują problemy w $zapytanie.

0
ruben napisał(a)

Co tutaj może być nie tak?

Hehe, szczerze mówiąc wszystko może być nie tak :P. Nie no tak serio to ogarnij to jakoś, bo to jeden wielki mętlik :). Wtedy może coś wyniknie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1