2016-11-02 110 views
0

我想從MySQL中選擇IN。 我有這個疑問:SELECT id, name FROM country WHERE id IN (2,1) 如果我從phpMyAdmin的運行它,我得到兩行,但是當我想要做一個功能我得到的只是一個 列。這是我的功能SELECT IN語句無法正常工作

function search($res) { 
    global $pdo; 
    $arr = [$res]; 
    $in = str_repeat('?,', count($arr) - 1) . '?'; 
    $sql = "SELECT id, name FROM country WHERE id IN ($in)"; 
    $stmt = $pdo->prepare($sql); 
    $stmt->execute($arr); 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    return $stmt->rowCount(); 
} 

我在想什麼? 這個問題似乎來自計數($ ARR),回來爲1

+1

你能告訴我什麼$ in returns.i猜$回報只有一個$在 – iCoders

+0

嗯,$ in是一個? – Ibucalmin

+0

你可以var_dump($ in)並在這裏發佈? – toha

回答

-1

發現問題

$arr = [$res] - >$arr = explode(',', $res)

我得到的數組中的所有元素作爲第一和只有元素,我不得不用逗號爆炸才能得到實際的數組。