View Single Post
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 06-22-2009 , 20:30   Re: SQL Error when name contains apostrophe
Reply With Quote #8

Quote:
Originally Posted by Spunky View Post
Code:
#include <amxmodx> #include <sqlx> new Handle:g_hSQLTuple

public plugin_init() { &nbsp;&nbsp;&nbsp;&nbsp;register_plugin("SQL Syntax Error", "1.0", "Spunky") &nbsp;&nbsp;&nbsp;&nbsp;g_hSQLTuple = SQL_MakeDbTuple("localhost", "root", "test", "arp") &nbsp;&nbsp;&nbsp;&nbsp;new szQuery[256] &nbsp;&nbsp;&nbsp;&nbsp;formatex(szQuery, 255, "CREATE TABLE IF NOT EXISTS synerrorlolar (Proved VARCHAR(20), IT VARCHAR(20), UNIQUE KEY (Proved))")
&nbsp;&nbsp;&nbsp;&nbsp;SQL_ThreadQuery(g_hSQLTuple, "fnQueryHandle", szQuery) &nbsp;&nbsp;&nbsp;&nbsp;new szName[32] &nbsp;&nbsp;&nbsp;&nbsp;szName = "Spunky 'lolar' Test" &nbsp;&nbsp;&nbsp;&nbsp;formatex(szQuery, 255, "INSERT INTO synerrorlolar VALUES ('%s', 'You fail.')", szName) &nbsp;&nbsp;&nbsp;&nbsp;SQL_ThreadQuery(g_hSQLTuple, "fnQueryHandle", szQuery) } public fnQueryHandle(FailState, Handle:hQuery, szError[], iErrorCode, iData[], iDataSize) { &nbsp;&nbsp;&nbsp;&nbsp;if (FailState == TQUERY_CONNECT_FAILED) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;set_fail_state("Could not connect to SQL database!") &nbsp;&nbsp;&nbsp;&nbsp;else if (FailState == TQUERY_QUERY_FAILED) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;set_fail_state("Query failed to execute!") &nbsp;&nbsp;&nbsp;&nbsp;return PLUGIN_CONTINUE }

Make this:

PHP Code:
     formatex(szQuery255"INSERT INTO synerrorlolar VALUES ('%s', 'You fail.')"szName
PHP Code:
     formatex(szQuery255"INSERT INTO synerrorlolar VALUES (^"%s^", 'You fail.')"szName
__________________
joaquimandrade is offline