0
i_terminal_id = input value

SELECT terminal_id,plate_number FROM terminal WHERE terminal_id IN (i_terminal_id);

我的示例值为i_terminal_id1,2,3,4 但它作为 nvarchar 传递

谁能告诉我我的代码有什么问题?它只返回第一个值。

我正在使用 MySQLAdmin

这是我的php代码:

public function selectTerminals($id){
    $form = $this->getUserData();
    $form['id'] = $id;

    $DAO = $this->getDAO('DAO');
    $result=$DAO->query('selectTerminals',$form);
    $y = sizeof($result);

// selectTerminals code is

    //   SELECT terminal_id FROM terminal_sum WHERE userid = i_userid;



    $ids = join(',',$result);
    $form['terminal_id'] = $ids;
    $form['array_count'] = $y;
    $DAO = $this->getDAO('DAO');
    return $this->status(0,true,'select.success',$DAO- >query('displayTerminals',$form));
    $sample = sizeof($ids);

}
4

1 回答 1

0

我认为你的 PHP 代码有错误,试试下面的代码......

<?php

$i_terminal_id = 'input value'; // $i_terminal_id = '1,2,4';
$b = mysql_query(" SELECT terminal_id,plate_number FROM terminal WHERE terminal_id (".$i_terminal_id.")");
while($data= mysql_fetch_array($b))
{
    echo '<pre>';print_r($data );echo '</pre>';
}

当您的 php 变量具有字符串值时,然后在带有单或双 qoute 的 mysql 查询中以正确的方式使用该变量。

于 2013-10-14T07:36:25.370 回答