Jump to content

Error in your SQL syntax

Recommended Posts

Have error for MySQL select:

$select = \IPS\Db::i()->select( '*', 'news_artcms_news', array('categorynum LIKE ?','%main%'), 'news_artcms_news.num DESC', array( 0, 12 ) );
$results = \IPS\Db::i()->query($select);

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 '? ORDER BY news_artcms_news.num DESC LIMIT 0,12' at line 1

Where is my mistake?

I try to change problems code: 

array('categorynum LIKE ?','%main%')


array('categorynum = ?','main')

but error dont fixed....

categorynum is text field

Edited by Bazilisk
Link to comment
Share on other sites

Try using the like() method instead. Also, you do not need to pass your query to query() - simply convert $select to an array using the iterator_to_array() function.

$select = \IPS\Db::i()->select( '*', 'news_artcms_news', array( \IPS\Db::i()->like( 'categorynum', 'main', TRUE, TRUE ) ), 'news_artcms_news.num DESC', array( 0, 12 ) );
$results = iterator_to_array($select);


Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...