cycle / database

Database Abstraction Layer, Schema Introspection, Schema Generation, Query Builders
MIT License
54 stars 22 forks source link

🐛 The `?` char in criteria breaks query #55

Closed roxblnfk closed 2 years ago

roxblnfk commented 2 years ago

No duplicates 🥲.

Database

No response

What happened?

This request

$searchQuery = '%foo?+%';
$user
    ->andWhere([
        '@or' => [
            ['@and' => [['foo' => ['like' => $searchQuery]]]],
            ['@and' => [['bar' => ['like' => $searchQuery]]]],
            ['@and' => [['baz' => true]]],
        ],
    ]);

throws error MySQL server version for the right syntax to use near '%foo'%fooTRUE+%'+%'+%'

Temporary solution looks like that:

$searchQuery = 'foo?';
$searchQuery= new Fragment("'" . $searchQuery. "'");

Version

database 2.0
PHP 8.1