在mysql WHERE子句中传递数组

时间:2016-03-08 14:49:05

标签: php arrays database

我想要做的是在WHERE子句中传递数组$ nameofcompanies并且它需要返回很多结果,更具体地说它将从$ nameofcompanies的每个索引返回结果,我这样做但它不会导致$ results变量。

$j=0;
for ($i=0 ; $i<count($nameofcompanies);$i++){

    $sql = "SELECT $feature_eps,NEXT_EPS,QUARTER,YEAR FROM `raja_table` WHERE SYMBOL_CODE= '$nameofcompanies[$i]' AND YEAR >= '$FromYear' AND YEAR <= '$ToYear' ORDER BY QUARTER ASC";
    $results = mysqli_query($conn, $sql);


if (mysqli_num_rows ($results) > 0) {

    while($row = mysqli_fetch_assoc($results)) {
        $NEXT_EPS_value[$j]=$row['NEXT_EPS'];// NEXT_EPS,NEXT_EPS_VALUES are all the col of database table.
        $EPS_value[$j]=$row['EPS'];
        $quarter_eps[$j]=$row['QUARTER'];
        $year[$j]=$row['YEAR'];
        echo $EPS_value[$j]."  ".$quarter_eps[$j]."     ".$NEXT_EPS_value[$j]."<br>";
        $j++;

    }


}
else {
    echo "Not in loop";
}

它总是返回“Not in loop”。当我给出特定公司的名称时,代码运行顺利并返回结果。 我遵循的第二种方法: 我存储数组$ nameofcompanies的当前索引,然后在WHERE子句中传递该变量,但这不起作用。

0 个答案:

没有答案