【发布时间】:2018-05-02 17:14:13
【问题描述】:
我是Yii2 php 的新手。我有一个查询,它给了我一些结果。
$result_set = "SELECT m.`id`,ogpd.`meter_serial`, m.`meter_status` FROM `ogp_header`ogph
INNER JOIN `ogp_detail` ogpd ON ogph.`id` = ogpd.`ogp_id`
INNER JOIN `meters` m ON ogpd.`meter_id` = m.`id`
WHERE ogph.`issuer` = $ogp_id"; // here $ogp_id is 88
输出是
现在我要检查上面$result_set中meter_status列的值。
所以搜索后我发现我必须以数组的形式返回查询结果。所以在看到这个answer 之后,我做了如下的改变。以下是我所做的
$result =Yii::$app->db->createCommand("SELECT m.`id`,ogpd.`meter_serial`, m.`meter_status` FROM `ogp_header`ogph
INNER JOIN `ogp_detail` ogpd ON ogph.`id` = ogpd.`ogp_id`
INNER JOIN `meters` m ON ogpd.`meter_id` = m.`id`
WHERE ogph.`issuer` = $ogp_id")->queryAll();
var_dump($result);
exit();
现在,当我运行我的代码时,我得到了array(0) { }。我不知道为什么它没有给我空数组。
我怎样才能做到这一点?任何帮助将不胜感激。
【问题讨论】:
-
尝试绑定 ogp_id 变量: $post = Yii::$app->db->createCommand('SELECT .. your query... ogph.issuer =:ogp_id') ->bindValue( ':ogp_id', $ogp_id)->queryAll();
标签: php mysql arrays yii2 resultset