Medoo MySQL не читает переменную

Я использую платформу Medoo MySQL, но столкнулся с этой проблемой при использовании IN в выражении WHERE:

$test = '1,2,3,4';

$count = $database->count("products", [
    "AND" => [
        "category_id" => $category['id'],
        "id" => [$test]
    ]
]);

Результат подсчета должен быть 4, но я получаю 1. Однако:

$count = $database->count("products", [
    "AND" => [
        "category_id" => $category['id'],
        "id" => [1,2,3,4]
    ]
]);

Дает мне правильный результат 4. Есть идеи? Заранее спасибо!

3 ответа

Попробуй это...

$test = array(1,2,3,4);

$count = $database->count("products", [
    "AND" => [
        "category_id" => $category['id'],
        "id" => $test // variable without []
    ]
]);

$test = '1,2,3,4'; это строка Чтобы преобразовать его в массив, вам нужно использовать:

$test = explode(',', '1,2,3,4');

$count = $database->count("products", [
    "AND" => [
        "category_id" => $category['id'],
        "id" => $test
    ]
]);

Следующее решение было размещено здесь: https://github.com/catfan/Medoo/issues/637

$values = '2,123,234,54';

$database->select("account", "user_name", [
    "OR" => [
        "user_id" => explode(',',$values)
    ]
]);
Другие вопросы по тегам