|
Categorieën >
PHP & SQL
[SQL] Query fout.
Chilion – 16/03/2010 12:38 (Laatst gewijzigd op 16/03/2010 12:40)
|
|
offline
|
MySQL interesse
|
Maar, wat klopt er niet aan deze query?
public $down = 'SELECT * FROM menu_down WHERE child = $menu["id"]';
public $down = 'SELECT * FROM menu_down WHERE child = $menu["id"]';
|
17 antwoorden
|
|
|
offline
|

Crew .NET
|
$down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";
$down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";
|
Chilion – 16/03/2010 12:44 (Laatst gewijzigd op 16/03/2010 12:59)
|
|
offline
|
MySQL interesse
|
Heb nu dus dit:
public $down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";
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
|
|
|
|
offline
|
PHP gevorderde
|
Ik zou het eens proberen zonder public
|
Chilion – 16/03/2010 13:43 (Laatst gewijzigd op 16/03/2010 13:44)
|
|
offline
|
MySQL interesse
|
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
<?php
require_once('database.php');
class Menu
{
public $query = 'SELECT * FROM menu';
private $_db;
$down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' ";
function __construct()
{
<?php require_once('database.php'); class Menu { public $query = 'SELECT * FROM menu'; private $_db; $down = "SELECT * FROM menu_down WHERE child = ' " .$menu["id"] . " ' "; function __construct() {
|
|
|
|
offline
|
PHP expert
|
Als child een integer is dan moeten er geen enkele quotes omheen.
$down = "SELECT * FROM menu_down WHERE child = " .$menu[' id'];
$down = "SELECT * FROM menu_down WHERE child = " .$menu[' id'];
|
pijke – 16/03/2010 15:46 (Laatst gewijzigd op 16/03/2010 15:47)
|
|
offline
|

Lid
|
misschien zo?
public $down = "SELECT * FROM menu_down WHERE child = $menu['id']";
public $down = "SELECT * FROM menu_down WHERE child = $menu['id']";
het is niet heel netjes, maar misschien werkt het.
|
smoos – 16/03/2010 16:13 (Laatst gewijzigd op 16/03/2010 16:16)
|
|
offline
|
PHP gevorderde
|
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
<?php
require_once('database.php');
class Menu {
public $query = 'SELECT * FROM menu';
private $_db;
private $down;
function __construct($nMenuID){
$this->down = "SELECT * FROM menu_down WHERE child = ".mysql_real_escape_string($nMenuID);
}
}
?>
<?php require_once('database.php'); class Menu { public $query = 'SELECT * FROM menu'; private $_db; private $down; function __construct($nMenuID){ } } ?>
|
|
|
|
offline
|
Crew Javascript
|
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  )
|
|
|
|
offline
|
PHP gevorderde
|
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
|
Dit onderwerp is gesloten.
|
|
|