[ZF] SQL Fout
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$resourceId = $this->resourceTable->fetchAll('controller = "'. $this->controller.'" && action = "'.$this->action.'"')->current();
if($this->rulesTable->fetchAll('uId = "'.$this->userId.'" && rId = "'.$resourceId->id)->current()) {
exit('works');
}
else {
exit('doesnt work');
}
if($this->rulesTable->fetchAll('uId = "'.$this->userId.'" && rId = "'.$resourceId->id)->current()) {
exit('works');
}
else {
exit('doesnt work');
}
ResourceId is altijd 1, in de rulesTable staat geen 1 bij rId, dus zou hij feitelijk gezien naar de else moeten gaan.
Ik krijg een foutmelding, wat doe ik fout?
Quote:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '")' at line 1' in C:\xampp\htdocs\Portal2\library\Zend\Db\Statement\Pdo.php:228 Stack trace: #0 C:\xampp\htdocs\Portal2\library\Zend\Db\Statement\Pdo.php(228): PDOStatement->execute(Array) #1 C:\xampp\htdocs\Portal2\library\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 C:\xampp\htdocs\Portal2\library\Zend\Db\Adapter\Abstract.php(479): Zend_Db_Statement->execute(Array) #3 C:\xampp\htdocs\Portal2\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(Object(Zend_Db_Table_Select), Array) #4 C:\xampp\htdocs\Portal2\library\Zend\Db\Table\Abstract.php(1529): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Table_Select)) #5 C:\xampp\htdocs\Portal2\library\Zend\Db\Table\Abstract.php(1344): Zend_Db_Table_Abstract->_fetch(Object(Zend_ in C:\xampp\htdocs\Portal2\library\Zend\Controller\Plugin\Broker.php on line 336
Quote:
Syntax error or access violation: 1064 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 '")' at line 1
Maar aangezien je de SQL niet laat zien kan ik je zo niet verder helpen.
Toevoeging op 24/07/2012 09:30:14:
if($this->rulesTable->fetchAll('uId = "'.$this->userId.'" && rId = "'.$resourceId->id)->current())
Toevoeging op 24/07/2012 09:31:58:
=======================
Ik heb het zelf opgelost, blijkt dat ik binnen Zend altijd quotjes moet gebruiken ter afsluiting, dit is de goede code:
Prima, maar SQL zien we niet. Waar staat dan de SQL volgens jou? Ook in jouw ooplossing staat geen letter SQL
In Symfony heb je dan een handige webdebug bar waarin je wel de query kunt zien en zo de fout kunt opsporen, maarja dat hebben ze niet in Zend...
Overigens is die webbar er wel, maar die is enkel te installeren als je ook Zend Studio installeert.