Db query: Difference between revisions From Online Manual

Jump to: navigation, search
No edit summary
m (change category)
Line 32: Line 32:

[[Category:Database Functions]]
[[Category:Customizing SMF]]
[[Category:Customizing SMF]]
[[Category:Developing SMF]]</noinclude>
[[Category:Developing SMF]]</noinclude>

Revision as of 09:52, 2 June 2011

{{smcfunc |function=db_query |usage=$smcFunc['db_query'] (identifier, query, values, connection) |description=Works Similar to how db_query worked in 1.x versions. |parameters={{parmdesc

 |identifier|d1=is used to identify specific query types in which it is necessary to replace portions of the query for compatability across all Database Management Systems supported by SMF. The query must be written for MYSQL. The db_query function will alter the query.{{parmdesc
   |substring|d1=for the SQLite database, SUBSTRING will be replaced by SUBSTR
   |See the function smf_db_query|d2= in Subs-DB-{dbms}.php for the full list of replacements.
 |values|d2=is an array of values you are intending to use in the query.

}} |return=a query resource or false on error. |example= $result = $smcFunc['db_query'](, ' SELECT poster_time FROM {db_prefix}messages WHERE id_msg = {int:id_msg} LIMIT 1', array( 'id_msg' => $user_settings['id_msg_last_visit'], ) ); |Example with identifier 'substring'|d1=

$result = $smcFunc['db_query']('substring', '
	SELECT m.subject, 
		'. ($mylimit > 0 ? SUBSTRING(m.body, 1, '.$mylimit.') as body  : 'm.body'). ', 
		IFNULL(mem.real_name, m.poster_name) AS realName, m.poster_time as date, mem.avatar, mem.posts, mem.date_registered as dateRegistered,mem.last_login as lastLogin,
		IFNULL(a.id_attach, 0) AS ID_ATTACH, a.filename, a.attachment_type as attachmentType, t.id_board as category, b.name as category_name,
			'id_msg' => $user_settings['id_msg_last_visit'],