สอบถามเรื่องการส่งข้อมูล insert ajax ครับผมว่าทำไมไม่เข้าฐานข้อมูลครับ
$this->input->post($ fname) ลองเปลี่ยนเป็น $this->input->post('fname' )
Date :
2018-09-27 11:58:00
By :
apisitp
1 ลองดู request ที่ส่งไปครับ ว่าส่งข้อมูลไปหรือเปล่า
2 ลองดูค่าที่รับ post ว่ารับถูกหรือเปล่า var_dump($this->input->post());
Date :
2018-09-27 12:28:34
By :
DK
มันฟ้อง ERROR ว่า ฟังชั่น mysqli_real_escape_string ต้องใส่ พารามิเตอร์ 2 ตัว แต่ไม่รู้ว่าจะใส่อะไรครับผม แต่ 1 ตัวถูกล่ะ เหลืออีกตัว มึนครับไม่รู้ใส่ไร ผิดตรงนี้อ่ะครับ
A PHP Error was encountered
Severity: Warning
Message: mysqli_real_escape_string() expects exactly 2 parameters, 1 given
'fname'=> mysqli_real_escape_string($this->input->post($fname)),
'lname'=> mysqli_real_escape_string($this->input->post($lname)),
'email'=> mysqli_real_escape_string($this->input->post($email)),
'web'=> mysqli_real_escape_string($this->input->post($web))
ประวัติการแก้ไข 2018-09-27 13:35:25
Date :
2018-09-27 13:34:03
By :
teedesign
ตาม 2 แต่เปลี่ยนเป็น code นี้ครับ ต่างกันนิดหน่อย
Code (PHP)
print_r($this->input->post(NULL, FALSE));
แล้ว คำสั่ง insert ไม่ต้อง escape แล้วครับ db tool ของ ci มันเก่ง
Code (PHP)
public function insert_student(){
$field = $this->input->post(NULL, FALSE);
$this->db->insert('tableuser', $field);
if($this->db->affected_rows() > 0){
return true;
}else{
return false;
}
}
mysqli_real_escape_string( $connect_link , $string); ซึ่งคุณไม่ได้เปิด connection
ประวัติการแก้ไข 2018-09-27 13:37:33
Date :
2018-09-27 13:35:29
By :
Chaidhanan
Code (PHP)
$this->db->escape($this->input->post('fname', TRUE));
SQL injection:
Preventing SQL injection in Codeigniter using Query Binding Method
Code (PHP)
$sql = "SELECT * FROM tableWHERE status = ? AND email= ?";
$this->db->query($sql, array($this->input->post('status', TRUE), $this->input->post('email', TRUE)));
Using Active Records, query syntax is generated by each database adapter. It also allows for safer queries, since the values are escaped automatically by the system:
Code (PHP)
$this->db->get_where('table',array('status' => $this->input->post('status', TRUE), 'email' => $this->input->post('email', TRUE)));
Date :
2018-10-03 11:03:16
By :
xman
Code (PHP)
$a = " ' ' abcdeg ' ' \" ' \" " ;
$this->db->query( "select * from ( select 'abcef' as i) t where t.i = ? ", [$a]);
echo '<br>'.$this->db->last_query();
$this->db->get_where("( select 'abcef' as i) t", ['t.i'=>$a]);
echo '<br>'. $this->db->last_query();
[select * from ( select 'abcef' as i) t where t.i = ' '' '' abcdeg '' '' " '' " ']
result statment
select * from ( select 'abcef' as i) t where t.i = ' '' '' abcdeg '' '' " '' " '
SELECT * FROM ( select 'abcef' as i) t WHERE "t"."i" = ' '' '' abcdeg '' '' " '' " '
Date :
2018-10-03 17:48:08
By :
Chaidhanan
Load balance : Server 04