A-AA+then

ระบุ keyword ในช่องค้นหาข้อมูลมากกว่า 2 คำแล้ว error ครับ?

1,600

ด้านล่างนี้ คือ error ที่เกิดไฟล์ที่รับข้อมูลจากฟอร์มมาประมวลผล หากระบุ keyword ในช่องค้นหาข้อมูล มากกว่า 2 คำ แต่ถ้าระบุ keyword คำเดียว จะไม่ error ครับ

company.php?mode=resume_by_frmYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND position_1 LIKE '%บัญชี%' OR position_2 LIKE '%บัญชี%' OR position_3 LIKE '%' at line 1


ส่วนด้านล่างนี้ ก็คือ sript ที่ทำหน้าที่รับข้อมูลจากฟอร์ม

 $keyword  = $_GET[txt_keyword];
 $keywordSQL  = '';
 $keywordList1 = array();
 $keywordList2 = array();

  $keywordArray = explode(' ', $keyword);


$keywordList1 ="SELECT user_id,name,surname,province,birthday,gender,position_1,position_2,picture,institute1,majoring1,branch1,gpa1,total_experiences,expect_salary,province,date_update FROM tbl_member WHERE level='1' AND human_status='yes'";



   foreach ( $keywordArray AS $val )
   
   {
   
   if (trim($val) != '')
    {

     $keywordList2[] = "AND position_1 LIKE '%$val%' OR position_2 LIKE '%$val%' OR position_3 LIKE '%$val%'";

     }
   }

   
   if (count($keywordList2) > 0)
    {
     $keywordSQL = "" . implode(" OR ", $keywordList2) . "";

    }


   $sql =$keywordList1.$keywordSQL." ORDER BY date_update DESC";


   $result=mysql_db_query($dbname,$sql)or
      die(mysql_error());
   
 

4 ความคิดเห็น

position_3 LIKE '%'

error ตรงนี้ ไปตรวจดูให้ถูก
1

ผมเห็นต่างจาก อ.นะครับ จากที่ผมทำมาถ้า error แบบนี้ น่าจะผิดที่ You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND position_1 LIKE '%บัญชี%' OR position_2 LIKE '%บัญชี%' OR position_3 LIKE '%' at line 1 รูปแบบคำสั่งมากกว่าครับ ผมว่าน่ะจะผิดที่
$keywordList2[] = "AND position_1 LIKE '%$val%' OR position_2 LIKE '%$val%' OR position_3 LIKE '%$val%'";
พอเราจะสติงไปต่อกันที่ $sql =$keywordList1.$keywordSQL." ORDER BY date_update DESC";
มันเลยทำให้ human_status='yes'AND position_1 ติดกันครับ คำสั่งเลยผิด 

อีกอย่างครับ ผมแนะนำให้ จขก ตรวจสอบโดยการ echo คำสั่ง sql ออกมาดูครับ

2

เหอๆความจริงมันก้ error แบบที่ อ.บอกน่ะแร่ะครับ
3

ขอบคุณมากครับ สำหรับคำแนะนำ ตอนนี้แก้ได้แล้วครับ

Thank

4
^