这是我的询问
select count(payment_id) from payment where booking_id='$booking_id';
当我在 phpmyadmin 中运行此查询时,我得到计数值 2,但我想访问该值..
$sql="select count(payment_id) from payment where booking_id='$booking_id'";
$query = $this->db->query($sql);
echo $query->num_rows();
if($query->num_rows() > 0){
do something....
}
如果计数为 1,则执行某些操作;如果计数大于 1,则执行某些操作...
试试这个:
$sql="select count(payment_id) as count_value from payment where booking_id='$booking_id'";
$query = $this->db->query($sql);
foreach ($query->result() as $row)
{
$count = $row->count_value;
}
if($count> 0){
do something....
}
count('coulme name') 的意思是,它总是以单行形式返回结果
Count() 始终返回 1 行。你需要做
$row = $query->result();
然后从那里访问 count 的值...
这是一个模型函数,您可以在内部执行它或从函数返回计数并在控制器中执行操作。
function count_payer($booking_id) {
$this->db->select ( 'payment_id' );
$this->db->from ( 'payment' );
$this->db->where ( 'booking_id', $booking_id );
$query = $this->db->get ();
$value = $query->num_rows ();
if ($value == 1) {
// do something and return
} else {
// do something else and return
}
}
如果您想要付款 ID,那么查询将是:
从付款中选择 sql_calc_found_rows payment_id,其中 booking_id='$booking_id';
选择 FOUND_ROWS();