[ZF] SQL Fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John Cena

John Cena

24/07/2012 09:17:11
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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');
                }


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
 
PHP hulp

PHP hulp

28/11/2024 18:54:01
 
Erwin H

Erwin H

24/07/2012 09:24:49
Quote Anchor link
Wat er fout gaat staat in de foutmelding:
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.
 
John Cena

John Cena

24/07/2012 09:29:59
Quote Anchor link
Wel Erwin, mijn sql opbouw staat dus in mijn code :)

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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
    if($this->rulesTable->fetchAll('uId = "'.$this->userId.'" && rId = "'.$resourceId->id.'"')->current()) {
}
 
John D

John D

24/07/2012 09:45:44
Quote Anchor link
Prima, maar SQL zien we niet. Waar staat dan de SQL volgens jou? Ook in jouw ooplossing staat geen letter SQL
 
Wouter J

Wouter J

24/07/2012 11:11:27
Quote Anchor link
En dat is nou het mooie van een ORM, je ziet geen SQL en je ORM maakt de query. Helaas blijkt die niet altijd te kloppen.

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...
 
John Cena

John Cena

24/07/2012 13:12:55
Quote Anchor link
Die laatste drie puntjes Wouter, grrr! ;-)

Overigens is die webbar er wel, maar die is enkel te installeren als je ook Zend Studio installeert.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.