Update: CI2 vindt het geen probleem dat er teveel params worden gebind, CI3 wel, problem solved.
Hallo,
Ik heb laatst een project geupgrade van CI 2.x naar 3.x.
Heb alle stappen doorlopen en waar nodig alles omgezet en veranderd.
Tijdens de update ook meteen de database driver omgezet van mysql naar pdo.
Alles leek uiteindelijk te werken, tot we er na een week achter kwamen dat de queries die dmv query binding zijn opgebouwd ineens niet meer werken. Ook niet met de mysql driver. Ik kan de query omschrijven, en dan werkt het, maar er zijn nog een xx-xxx aantal queries die op dezelfde manier zijn opgebouwd. Deze allemaal ombouwen is dus niet echt een optie. Iemand een idee?
Foutmelding/output is als volgt:
user id: 515contact id: 43
Error Number: 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 '?, itemId=?' at line 1
INSERT IGNORE INTO `favorites` SET userId=?, itemId=?
Filename: models/Userm.php
Line Number: 62
De query:
PHP Code:
public function addFavorite($userId, $contactId) { echo "user id: $userId"; echo "contact id: $contactId"; $this->db->query('INSERT IGNORE INTO `favorites` SET userId=?, itemId=?', array($userId, $contactId, time())); }
- CodeIgniter problemen met query binding in 3.0?
-
07-09-2015, 12:47 #1
- Berichten
- 8
- Lid sinds
- 12 Jaar
CodeIgniter problemen met query binding in 3.0?
Laatst aangepast door Rico van Poeteren : 07-09-2015 om 12:54
-
-
07-09-2015, 14:01 #2
- Berichten
- 482
- Lid sinds
- 15 Jaar
Re: CodeIgniter problemen met query binding in 3.0?
Je geeft 3 waardes in de array mee, terwijl je er 2 gebruikt.
Misschien is het ook makkelijker om active record te gebruiken:
PHP Code:$set = array( 'userId' => $userId, 'itemId' => $contactId ); $this->db->insert('favorites',$set);
-
07-09-2015, 14:04 #3
- Berichten
- 8
- Lid sinds
- 12 Jaar
Re: CodeIgniter problemen met query binding in 3.0?
Bedankt, ik had het probleem zelf inmiddels ook gezien en het topic geupdate. Zal dit nog even iets duidelijker doen ^^
Heb overigens geen idee waarom de oude programmeur een time() parm meegaf, maar dat terzijde.
Edit: Kan m'n vraag/topic niet meer aanpassen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic