Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd składni?
Forum PHP.pl > Forum > Bazy danych > MySQL
nuerher
Pracuję nad gotowym skryptem do logowania Wszystko działa niby poprawnie, jednak na stronie głównej pokazuje mi się coś takiego:
  1. SQL Error
  2. You have an error IN your SQL syntax. CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '&& userid=1' at line 1


Błąd składni... '&& userid=1'...? Moglibyście mi ten problem trochę przybliżyć.

Cytat
Wersja MySQL  4.0.20-standard
Wersja php  4.3.9


Za odpowiedz z góry dziękuję.
slepy
nie widać całego kodu tego SQL ale wydaje mi się że błąd tkwi tutaj:
'&& userid=1'
powinno być:
&& userid='1'

Jak nie podziała wklej kod tego skryptu
harmag
a nie powinno byc czaczem AND zamiast && ?
nuerher
O to kod. Gdy zamist && wstawilem AND tez nie szlo

  1. <?php
  2.  
  3. if ($HTTP_SERVER_VARS[&#092;"REQUEST_METHOD\"] == \"POST\")
  4. {
  5. $choice = $_POST[&#092;"choice\"];
  6. if ($CURUSER && $choice != &#092;"\" && $choice < 256 && $choice == floor($choice))
  7. {
  8. $res = mysql_query(&#092;"SELECT * FROM polls ORDER BY added DESC LIMIT 1\") or sqlerr();
  9. $arr = mysql_fetch_assoc($res) or die(&#092;"No poll\");
  10. $pollid = $arr[&#092;"id\"];
  11. $userid = $CURUSER[&#092;"id\"];
  12. $res = mysql_query(&#092;"SELECT * FROM pollanswers WHERE pollid=$pollid && userid=$userid\") or sqlerr(); //z AND tem sam problem
  13. $arr = mysql_fetch_assoc($res);
  14. if ($arr) die(&#092;"Dupe vote\");
  15. mysql_query(&#092;"INSERT INTO pollanswers VALUES(0, $pollid, $userid, $choice)\") or sqlerr();
  16. if (mysql_affected_rows() != 1)
  17. stderr(&#092;"Error\", \"An error occured. Your vote has not been counted.\");
  18. header(&#092;"Location: $BASEURL/\");
  19. die;
  20. }
  21. else
  22. stderr(&#092;"Error\", \"Please select an option.\");
  23. }
  24.  
  25. ?>


Tu chyba jest to samo:
  1. <?php
  2.  
  3. $res = mysql_query(&#092;"SELECT * FROM pollanswers WHERE pollid=$pollid && userid=$userid\") or sqlerr();
  4.  
  5. ?>
bela
dodaj odwrócone apostrofy `` po =
  1. SELECT * FROM pollanswers WHERE pollid=`$pollid` AND userid=`$userid`
Vertical
spróbuj może ustawić zmienną
  1. <?php
  2. $pollid=$arr[id];
  3. ?>

i tak samo zrób z $userid.
nuerher
Wybaczcie mi, móh błąd...
Nie miał zabardzo skąd pobierać danych, gdyż ich wcale nie było...jedynie utworzona byłą tabela z komórkami.

Teraz inne pytanie: Czy jest jakaś różnica pomiędzy '&&', a 'AND'? W końcu jedno i drugie oznacza 'i'...
harmag
Cytat(nuerher @ 2004-10-30 23:26:13)
Wybaczcie mi, móh błąd...
Nie miał zabardzo skąd pobierać danych, gdyż ich wcale nie było...jedynie utworzona byłą tabela z komórkami.

Teraz inne pytanie: Czy jest jakaś różnica pomiędzy '&&', a 'AND'? W końcu jedno i drugie oznacza 'i'...

ja zawsze uwazywam AND, ale z tego co widze teraz w dokumantecji to mozna uzywac zamiast niego takze && i nie robi to zadnej roznicy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.