Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ใส่คำค้นหา ปกติ
15-11-2557 11-48-07.jpg
15-11-2557 11-48-07.jpg (14.35 KiB) Viewed 1979 times
แต่พอใส่ \ error เบย
15-11-2557 11-48-59.jpg
15-11-2557 11-48-59.jpg (8.5 KiB) Viewed 1979 times
15-11-2557 11-49-55.jpg
15-11-2557 11-49-55.jpg (43.66 KiB) Viewed 1979 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ตอนเขียน query ควรใช้

$db->sql_like_expression
$db->sql_escape
ครอบข้อความก่อน
หรือเพิ่ม utf8_clean_string() เข้าไปอีกตัวเพื่อ เครียร์ค่าแปลกๆ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ใช้ยังไงค่ะ

โค้ด: เลือกทั้งหมด

 $sql_ary = array(
                        'SELECT'    => '*',
                        'FROM'      => array(
                                FORUMS_TABLE         => 'f',
                                ),
                        'WHERE' => " forum_id LIKE '" . $search. "' OR forum_name LIKE '%" .$search."%'OR forum_short_name LIKE '%" .$search."%'",
                        );
                         $sql = $db->sql_build_query('SELECT', $sql_ary);
                         $result = $db->sql_query_limit($sql, $per_page, $start);
                         while($row = $db->sql_fetchrow($result)){
                                $forum_id =  $row['forum_id'];
                                $template->assign_block_vars('row', array(
                                        'FORUM_ID'                      => $forum_id,
                                        'FORUM_NAME'                    => $row['forum_name'],
                                        'FORUM_SHORT_NAME'              => $row['forum_short_name'],
                                ));}    
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

โค้ด: เลือกทั้งหมด

$db->sql_like_expression(utf8_clean_string($username_chars)
ถ้าใช้เเบบนี้

ต้อง SQL ธรรมดาใช้ม้า

โค้ด: เลือกทั้งหมด

    $sql = 'SELECT username, user_id, user_colour
            FROM ' . USERS_TABLE . '
            WHERE ' . $db->sql_in_set('user_type', array(USER_NORMAL, USER_FOUNDER)) . '
                AND username_clean ' . $db->sql_like_expression(utf8_clean_string($username_chars) . $db->get_any_char());
        $result = $db->sql_query_limit($sql, 10); 
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ตัวอย่าง

โค้ด: เลือกทั้งหมด

$sql_where = (strpos($author, '*') !== false) ? ' post_username ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($author))) : " post_username = '" . $db->sql_escape(utf8_clean_string($author)) . "'"; 
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Error : ตอนใส่เครื่องหมาย \ แล้วกดค้นหา ! จะแก้ไขได้ยังไงคะ เป็นเพราะอะไรคะ?

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

โค้ด: เลือกทั้งหมด

 $sql_ary = array(
                        'SELECT'    => '*',
                        'FROM'      => array(
                                FORUMS_TABLE         => 'f',
                                ),
                        'WHERE' => " forum_id LIKE '" .  $db->sql_escape(utf8_clean_string($search)). "' OR forum_name LIKE '%" 
. $db->sql_escape(utf8_clean_string($search))."%'OR forum_short_name LIKE '%"
 . $db->sql_escape(utf8_clean_string($search))."%'",
                        );
                         $sql = $db->sql_build_query('SELECT', $sql_ary);
                         $result = $db->sql_query_limit($sql, $per_page, $start);
                         while($row = $db->sql_fetchrow($result)){
                                $forum_id =  $row['forum_id'];
                                $template->assign_block_vars('row', array(
                                        'FORUM_ID'                      => $forum_id,
                                        'FORUM_NAME'                    => $row['forum_name'],
                                        'FORUM_SHORT_NAME'              => $row['forum_short_name'],
                                ));}
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 124