@@ -209,14 +209,9 @@ public static function select(string $sql_statement, array $data = []): mixed
209209 {
210210 static ::ensureDatabaseConnection ();
211211
212- if (
213- !preg_match (
214- "/^(select\s.+?\sfrom\s.+;?|desc\s.+;?)$/i " ,
215- $ sql_statement
216- )
217- ) {
212+ if (!preg_match ("/^\s*select\b/i " , $ sql_statement )) {
218213 throw new DatabaseException (
219- 'Syntax Error on the Request ' ,
214+ 'Syntax Error on the Request: ' . $ sql_statement ,
220215 E_USER_ERROR
221216 );
222217 }
@@ -246,9 +241,9 @@ public static function selectOne(string $sql_statement, array $data = []): mixed
246241 {
247242 static ::ensureDatabaseConnection ();
248243
249- if (!preg_match ("/^select\s.+?\sfrom\s.+;?$ /i " , $ sql_statement )) {
244+ if (!preg_match ("/^\s*select\b /i " , $ sql_statement )) {
250245 throw new DatabaseException (
251- 'Syntax Error on the Request ' ,
246+ 'Syntax Error on the Request: ' . $ sql_statement ,
252247 E_USER_ERROR
253248 );
254249 }
@@ -278,14 +273,9 @@ public static function insert(string $sql_statement, array $data = []): int
278273 {
279274 static ::ensureDatabaseConnection ();
280275
281- if (
282- !preg_match (
283- "/^insert\s+into\s+[\w\d_-`]+\s*(\(.+\))?\s+(values\s*(\(.+\),?)+|\s?set\s+(.+)+);?$/ism " ,
284- $ sql_statement
285- )
286- ) {
276+ if (!preg_match ("/^\s*insert\b/i " , $ sql_statement )) {
287277 throw new DatabaseException (
288- 'Syntax Error on the Request ' ,
278+ 'Syntax Error on the Request: ' . $ sql_statement ,
289279 E_USER_ERROR
290280 );
291281 }
@@ -344,7 +334,7 @@ public static function delete(string $sql_statement, array $data = []): int
344334 {
345335 static ::ensureDatabaseConnection ();
346336
347- if (!preg_match ("/^delete\s+from\s+[\w\d_`]+\s+where\s+.+;?$/i " , $ sql_statement )) {
337+ if (!preg_match ("" /^\s* delete \b/i" ", $ sql_statement )) {
348338 throw new DatabaseException (
349339 'Syntax Error on the Request ' ,
350340 E_USER_ERROR
0 commit comments