Skip to content

Commit b96bf47

Browse files
committed
Fix database direct statement
1 parent 7f16ea7 commit b96bf47

1 file changed

Lines changed: 7 additions & 17 deletions

File tree

src/Database/Database.php

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)