这是我的查询
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....
}
如果count为1则执行某些操作,如果count大于1,则执行某些操作...
答案 0 :(得分: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')表示,它总是将结果作为单行返回
答案 1 :(得分:0)
Count()始终返回1行。你需要做什么
$row = $query->result();
然后从那里访问count的值...
答案 2 :(得分:0)
这是一个模型函数,您可以在其中执行此操作或从函数返回计数并在控制器中执行操作。
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
}
}
答案 3 :(得分:0)
如果您需要付款ID,则查询将为:
从付款处选择sql_calc_found_rows payment_id,其中booking_id ='$ booking_id';
选择FOUND_ROWS();