Moeez
Moeez

Reputation: 478

Yii2- Query result array returning no values

I am new to Yii2 php. I have a query which is giving me some results.

$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 

The output is

enter image description here

Now I want is to check the value of column meter_status in the above $result_set.

So after searching I have found that I have to return the query result in array. So after seeing this answer I have done changes like bellow. Below is what I have done

 $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();

Now when I run my code I am getting array(0) { }. I don't know why it's not giving me null array.

How can I achieve this? Any help would be highly appreciated.

Upvotes: 2

Views: 1032

Answers (1)

ScaisEdge
ScaisEdge

Reputation: 133360

Be sure that $ogp_id is correctly assigned and try using a proper binding

  $ogp_id =  88;
  $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 ")
                     ->bindValue(':ogp_id', $ogp_id)
                    ->queryAll();

      var_dump($result);
      exit();

and remove unuseful backtics when not needed

Upvotes: 3

Related Questions