MySQL Medoo тип данных силы - PullRequest
       11

MySQL Medoo тип данных силы

0 голосов
/ 19 февраля 2019

В настоящее время я пытаюсь получить строки из моей базы данных MySQL в определенном порядке.

Поэтому я нашел такой запрос полезным:

SELECT * FROM tbl_items WHERE id IN (130,129) ORDER BY FIELD(ID, 130,129)

Когда я запускаю его напрямуюв MySQL все работает нормально.

Теперь в PHP я использую структуру базы данных Medoo .

То, что я делаю, выполняет этот запрос:

$asservate = $database->query("SELECT * 
                                FROM tbl_items 
                                WHERE ID in (:ids) 
                                ORDER BY FIELD(ID,:ids)",
                            [":ids" => intval($items)])
                        ->fetchAll();

В результате выполнения этого запроса, когда я повторяю последний выполненный запрос, следующее:

SELECT * FROM tbl_items WHERE ID in ('129,130') ORDER BY FIELD(ID,'129,130')

Значения вводятся в виде строк, и это кажется проблемой.В результате я получаю только номер строки 129. Никаких других.

Есть ли идея, как заставить medoo не вводить значения с ' или как заставить MySQL все еще выполнятьсязапрос, даже с ' там?

Заранее спасибо!

РЕДАКТИРОВАТЬ:

Вот код для query -Функция Medoo:

public function query($query, $map = [])
{
    if (!empty($map))
    {
        foreach ($map as $key => $value)
        {
            switch (gettype($value))
            {
                case 'NULL':
                    $map[ $key ] = [null, PDO::PARAM_NULL];
                    break;

                case 'resource':
                    $map[ $key ] = [$value, PDO::PARAM_LOB];
                    break;

                case 'boolean':
                    $map[ $key ] = [($value ? '1' : '0'), PDO::PARAM_BOOL];
                    break;

                case 'integer':
                case 'double':
                    $map[ $key ] = [$value, PDO::PARAM_INT];
                    break;

                case 'string':
                    $map[ $key ] = [$value, PDO::PARAM_STR];
                    break;
            }
        }
    }

    return $this->exec($query, $map);
}
...