Toon posts:

[mysql] Een hele vage error....

Pagina: 1
Acties:

Verwijderd

Topicstarter
Query: SELECT * FROM wise_users WHERE group = '$new_group'
Error: You have an error in your SQL syntax near 'group = 'assdaf'' at line 1

Zoals je kan zien:
$new_group = "assdaf";
Dit is gewoon maar wat bullshit

Ik snap er niks van, de tabel wise_users bestaat, en GROUP bestaat ook

Verwijderd

Topicstarter
Bij deze query geeft hij geen error...
SELECT * FROM wise_users WHERE mail = '$new_mail'
Terwijl die hetzelfde is

Verwijderd

GROUP is een reserved word, set dat eens tussen backticks?: `group`

Beter is het om goede namen voor je kolommen te verzinnen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
group is een gereserveerd woord. Kijk eens in een SQL manual naar de GROUP BY clause...
Vandaar geeft hij die error.
Er wordt een BY verwacht as in :
code:
1
2
3
select *, max(id)
from tabel
group by ...


Je zult dat veld dus een andere naam moeten geven (of tussen die backticks zetten). Alhoewel ik een andere naam zou prefereren.

[ Voor 13% gewijzigd door whoami op 29-12-2002 13:49 ]

https://fgheysels.github.io/


  • MichelVH
  • Registratie: Oktober 2001
  • Laatst online: 01-08 09:33
Group is in mySQL een reserved keyword (GROUP BY) dus je moet die veldnaam escapen:
code:
1
SELECT * FROM wise_users WHERE `group` = '$new_group'

Don't be afraid of the dark, be afraid of what it hides


Verwijderd

Topicstarter
dan doet hij het idd :?
Maar nu zegt hij dit weer

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\rest\age_of_wisdom\signup.php on line 87

[edit]

Hij heet nou groupname

[ Voor 10% gewijzigd door Verwijderd op 29-12-2002 13:50 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
[nohtml]
Verwijderd schreef op 29 December 2002 @ 13:49:
dan doet hij het idd :?
Maar nu zegt hij dit weer

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\rest\age_of_wisdom\signup.php on line 87
Ik veronderstel dat dit een PHP error/warning zal zijn, en niets met uw sql statement zal te maken hebben....

https://fgheysels.github.io/


Verwijderd

Topicstarter
Regel 87:
$q = mysql_num_rows(mysql_query("SELECT * FROM wise_users WHERE `groupname` = '$new_group'") or die(mysql_error()));

[edit]
De uitvoering van het stukje script (ook de error-regel) voert hij helemaal goed uit....

[ Voor 47% gewijzigd door Verwijderd op 29-12-2002 13:54 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:46
Op meerdere regels is een sql statement duidelijker, probeer het eens zonder je OR DIE, dan werkt ie weld enk ik. Dat is een vaag probleem waar ik ook geen oplossing op heb bedacht.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

De or die moet je niet weghalen, hooguit vervangen door een andere vorm van error-handling...
Want hij doet het daarna nog steeds niet namelijk...

Maak er bijvoorbeeld van:
PHP:
1
2
3
$query =  "SELECT * FROM wise_users WHERE `groupname` = '$new_group'";
$result = mysql_query($query) or die(user_error("Error in query [$query]: " . mysql_error()));
$num_rows = mysql_num_rows();

[ Voor 8% gewijzigd door ACM op 29-12-2002 14:56 ]


  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 06-07 14:29
is
PHP:
1
$query =  "SELECT * FROM wise_users WHERE `groupname` = '".$new_group."'";

niet netter?

Verwijderd

_-= Erikje =-_ schreef op 29 December 2002 @ 16:19:
is
PHP:
1
$query =  "SELECT * FROM wise_users WHERE `groupname` = '".$new_group."'";

niet netter?
Ja 8)

maar waarom

PHP:
1
$query = "SELECT * FROM wise_users WHERE `groupname` ...";


en niet

PHP:
1
$query = "SELECT * FROM wise_users WHERE groupname ...";


Bij mijn weten moet je je tabelnamen toch niet quoten ?! Allemaal niet nodig ...

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:46
was misschien nog omdat hij eerst het gereserveerde woord group gebruikte
Pagina: 1