如何在何处条件下编写不等于<!=>的查询?

时间:2019-06-20 11:13:15

标签: mysql yii2

我需要从表中获取数据并将批量短信发送给客户,然后发送短信,联系人号码存储在一个变量中,我使用每个联系人并获取号码,我手动输入ID并获取数据,现在我需要通过在查询中给出'id'!='o'来收集所有数据,这样我就可以获得所有数字。

现在,我在

的条件下手动提供ID号
where(['idsmsdata' => [1,6,7]]);

我的查询是:

$query1 = (new \yii\db\Query())->select(['number'])
                                ->from('smsdata')
                                ->where(['idsmsdata' => [1,6,7]]);
$command1 = $query1->createCommand();
$data1 = $command1->queryAll();
$vnumber = '';
foreach($data1 as $row1) {
    $vnumber .= $row1['number'].',' ;
}
echo $vnumber;

我将以$ vnumber的形式输出:96xxxxxx,85xxxxxxx,77xxxxxxx。 ID中的三个对应数字。

我希望查询位于id!= 0的位置,以便它可以获取剩余的ID。

2 个答案:

答案 0 :(得分:0)

尝试一下:-

$query1 = (new \yii\db\Query())->select(['number'])
                                ->from('smsdata')
                                ->where(['<>','idsmsdata', 0]);

$command1 = $query1->createCommand();
$data1 = $command1->queryAll();
$vnumber = '';
foreach($data1 as $row1) {
    $vnumber .= $row1['number'].',' ;
}
echo $vnumber;

答案 1 :(得分:0)

第一个队列可以按以下步骤完成:

$query1 = (new \yii\db\Query())->select(['number'])
                                ->from('smsdata')
                                ->where(['idsmsdata' => [1,6,7]])
                                ->all();
$vnumber = '';
foreach($data1 as $row1) {
    $vnumber2 .= $row1['number'].',' ;
}

获取所有行

$query1 = (new \yii\db\Query())->select(['number'])
                                ->from('smsdata')
                                ->all();
$vnumber2 = '';
foreach($data1 as $row1) {
    $vnumber2 .= $row1['number'].',' ;
}