login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

[SQL] Query fout.

Chilion – 16/03/2010 12:38 (Laatst gewijzigd op 16/03/2010 12:40)
Maar, wat klopt er niet aan deze query?
  1. public $down = 'SELECT * FROM menu_down WHERE child = $menu["id"]';



Pagina:

17 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

titjes – 16/03/2010 12:41
  1. $down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";


Chilion – 16/03/2010 12:44 (Laatst gewijzigd op 16/03/2010 12:59)
Heb nu dus dit:
  1. public $down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";


Krijg deze foutmelding:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 9

smoos – 16/03/2010 13:24
Ik zou het eens proberen zonder public

Chilion – 16/03/2010 13:43 (Laatst gewijzigd op 16/03/2010 13:44)
Ja, maar dat kan dus niet, want dan kan ik hem niet gebruiken.

Foutmelding:
Citaat:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 10


  1. <?php
  2.  
  3. require_once('database.php');
  4.  
  5. class Menu
  6. {
  7.  
  8. public $query = 'SELECT * FROM menu';
  9. private $_db;
  10. $down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";
  11.  
  12. function __construct()
  13. {


Ultimatum – 16/03/2010 14:29
Als child een integer is dan moeten er geen enkele quotes omheen.
  1. $down = "SELECT * FROM menu_down WHERE child = " .$menu[' id'];


pijke – 16/03/2010 15:46 (Laatst gewijzigd op 16/03/2010 15:47)
misschien zo?
  1. public $down = "SELECT * FROM menu_down WHERE child = $menu['id']";


het is niet heel netjes, maar misschien werkt het.

Ontani – 16/03/2010 15:51
hoe je het doet maakt nie uit maar gebruik enkele quotes binnen je $menu.
{$menu['id']} als je een array binnen dubbelequotes wilt gebruiken.

"SELECT * FROM menu_down WHERE child = '{$menu['id']}'";
of
"SELECT * FROM menu_down WHERE child = '" . $menu['id'] . "'";

smoos – 16/03/2010 16:13 (Laatst gewijzigd op 16/03/2010 16:16)
Chilion schreef:
Ja, maar dat kan dus niet, want dan kan ik hem niet gebruiken.

Foutmelding:
[..quote..]

[..code..]

Hoe wil je $menu['id'] aan $down geven als $menu['id'] niet bestaat?

Dat kan je doen in de constructor
  1. <?php
  2.  
  3. require_once('database.php');
  4.  
  5. class Menu {
  6. public $query = 'SELECT * FROM menu';
  7. private $_db;
  8. private $down;
  9.  
  10. function __construct($nMenuID){
  11. $this->down = "SELECT * FROM menu_down WHERE child = ".mysql_real_escape_string($nMenuID);
  12. }
  13. }
  14.  
  15. ?>



Ibrahim – 16/03/2010 16:38
Zet je variabelen beter buiten quotes dan binnen, kom je nooit in de problemen. De reden dat Titjes' oplossing niet werkte is om twee dingen:

1) dubbele quotes bij $menu['id']
2) Een spatie binnen de single quotes van je SQL query ('<spatie> " . $menu["id"] . "<spatie>')

Bovenstaande reactie van smoos heeft een goede query, mits je het hele class gedoe niet erbij doet (beetje teveel van het goede smoos )

smoos – 16/03/2010 16:48
Ibrahim schreef:
Zet je variabelen beter buiten quotes dan binnen, kom je nooit in de problemen. De reden dat Titjes' oplossing niet werkte is om twee dingen:

1) dubbele quotes bij $menu['id']
2) Een spatie binnen de single quotes van je SQL query ('<spatie> " . $menu["id"] . "<spatie>')

Bovenstaande reactie van smoos heeft een goede query, mits je het hele class gedoe niet erbij doet (beetje teveel van het goede smoos )

Als je zijn reacties leest dan zie je dat het erom gaat dat hij zijn $down variable aanmaakt bij het declareren van de variabelen in zijn class. Daar bij het declareren mag je geen gebruik maken van andere variabelen functies of wat dan ook. Dat gaf voor hem de fout
Citaat:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/chilion/domains/chilion.nl/public_html/marc/inc/menu.php on line 10

En die heb ik hierboven opgelost.

Beetje rondkijken voor je commentaar geeft

Gesponsorde links


Pagina:

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.234s