簡體   English   中英

在 WHERE 子句中使用變量不起作用

[英]Using a Variable in WHERE clause does not work

我正在運行一個正在運行的簡單查詢,也就是說,WHERE 子句中沒有 PHP 變量。

但是,當我插入變量時,它什么也不做。

<?php 
   $query = $this->db->query("SELECT `rem1` FROM `exam_group_exam_results` WHERE `exam_group_class_batch_exam_student_id`= $student_value->id and `exam_group_class_batch_exam_subject_id`=1");
         $getrem = $query->row();
     echo $getrem->rem1;?>

但是當我只插入一個值時,一切正常

<?php 
   $query = $this->db->query("SELECT `rem1` FROM `exam_group_exam_results` WHERE `exam_group_class_batch_exam_student_id`= 11 and `exam_group_class_batch_exam_subject_id`=1");
         $getrem = $query->row();
     var_dump($getrem);?>

我 var_dump 這個變量student_value['id']並打印出正確的值,即 11。

我已經在這幾個小時了。 請幫忙

應該是語法問題

   $query = $this->db->query("SELECT `rem1` FROM `exam_group_exam_results` WHERE `exam_group_class_batch_exam_student_id`= ".$student_value->id." and `exam_group_class_batch_exam_subject_id`=1");

否則,請檢查您的變量是對象還是數組

嘗試將對象的值分配給另一個變量。 例子

$id_value = student_value['id'];

然后在您的 SQL 代碼中使用該變量

$query = $this->db->query("SELECT `rem1` FROM `exam_group_exam_results` WHERE `exam_group_class_batch_exam_student_id`= $id_value and `exam_group_class_batch_exam_subject_id`=1");
     

我認為查詢語法沒有讀取學生 ID,因此結果將顯示為 WHERE CLAUSE。

// Try this
$studentId = $student_value->id;

$sql = "SELECT `rem1` FROM `exam_group_exam_results` WHERE `exam_group_class_batch_exam_student_id`=`$studentId` and `exam_group_class_batch_exam_subject_id`=1"
$query = $this->db->query($sql);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM