GORAGOD.com

freelance, web developer, web designer, hosting, domain name

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

ด้านล่างนี้ คือ 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());      
11 ก.ค. 2552 4 2,526

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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^