query binding ของ codeigniter ในกรณีที่ไม่มีค่าใดๆส่งมาในตัวแปร จะเกิดอะไรขึ้น?
Code (PHP)
if(!empty($id)){
$this->db->where('member_id',$id);
}
$result = $this->db->get->('job ')->result_array();
print_r($result);
ประวัติการแก้ไข 2014-09-28 13:36:21
Date :
2014-09-28 13:35:13
By :
mangkunzo
ขอบคุณท่าน mangkunzo
รบกวนช่วยลองแบบ query binding ด้วยได้มั้ยครับ
มันติดในใจ =.=" แหะๆ
Date :
2014-09-28 17:33:49
By :
ginuwine72
จากตัวอย่างที่ผมให้ CI มันจะ binding ให้อยู่แล้วน่ะ เพราะฉะนั้น ไม่จำเป็นต้อง binding เองค
แต่ถ้าจำเป็นต้องทำแบบนั้นจริงๆ ก็ต้องพึ่ง if อยู่ดีครับ เขียนเยอะ เสียเวลาโดยใช่เหตุครับ
Code (PHP)
if(!empty($id)){
$sql = "SELECT jb.job_id,jb.jb_name FROM job as jb WHERE jb.member_id = ?";
$r = $this->db->query($sql, array($id))->result_array();
}else{
$sql = "SELECT jb.job_id,jb.jb_name FROM job as jb";
$r = $this->db->query($sql)->result_array();
}
return $r;
Date :
2014-09-28 18:05:24
By :
mangkunzo
เข้าใจแล้วครับ "ไม่จำเป็นต้อง binding เอง "
Code (PHP)
if(! empty($id)):
$sql = "
SELECT
jb.job_id,jb.jb_name
FROM
job as jb
WHERE
sc.member_id = ?
GROUP BY
jb.jb_name
";
$r = $this->db->query($sql, array($id));
else:
$sql = "
SELECT
jb.job_id,jb.jb_name
FROM
job as jb
GROUP BY
jb.jb_name
";
$r = $this->db->query($sql);
endif;
return $r->result_array();
ขอบคุณท่าน mangkunzo ครับ
รู้สึกคิดถึง PDO ขึ้นมาตะงิดๆ
เนี่ยถ้าผมต้อง bind_param จะทำยังไงดีล่ะครับ
เพิ่มเติมให้อีกนิดมั้ยครับ กำลังได้ความรู้
Date :
2014-09-28 22:26:59
By :
ginuwine72
คุณเองก็ทราบดีอยู่แล้วว่าถ้า bind param ทีมีค่า null เข้าใน statement where ยังไงๆมันก็ไม่ได้ค่าออกมาตามต้องการ
และก็ No4. code คุณมันไม่ทำงานหรือยังไงหรอครับ ก็เห็น bind param ได้อยู่ไม่ใช่หรอ?
ติดเรื่อง group by หรือเปล่า???
Code (PHP)
$this->db->select('job_id,jb_name');
if(!empty($id)){
$this->db->where('member_id',$id);
}
$result = $this->db->group_by('jb_name')
->get->('job')
->result_array();
print_r($result);
ประวัติการแก้ไข 2014-09-28 22:39:45 2014-09-28 22:40:28 2014-09-28 22:40:53
Date :
2014-09-28 22:35:48
By :
mangkunzo
public function _get($id=0)
Date :
2014-09-29 12:25:32
By :
progamer2000
โค้ด NO.4 ทำงานครับ ลงตัวอย่างไว้ให้คนอื่นอ่านเฉยๆ
ผมแค่อยากลองคิดในกรณีที่ต้องรับ param มากกว่า 1ตัว และไม่สามารถเขียน if-else ครอบคลุมทั้งหมดได้
คือ ผมต้องส่ง param มาให้ฟังก์ชั่นทำงาน ถ้าไม่ส่งมันก็ error ขึ้นมาเสีย
แต่.. param นั้น อาจมีหรือไม่มี value ก็ได้
ถ้ามี ก็ใส่ในเงื่อนไข where เพื่อ query ข้อมูลออกมา
ถ้าไม่มี ก็ให้มัน query ข้อมูลทั้งหมดออกมา ??? <--- ตรงนี้เราควรมีวิธี น่าลองใช่มั้ยครับ
ปกติใส่ค่า 0 รองรับเอาไว้
แล้วก็มาเจอกับ code ใน no.5 นี่แหละ เก็ทเลย
ขอบคุณครับ
ขอบคุณพื้นที่ไทยครีเอท
Date :
2014-09-30 01:21:05
By :
ginuwine72
Load balance : Server 04