
$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());
position_3 LIKE '%'
error ตรงนี้ ไปตรวจดูให้ถูก
error ตรงนี้ ไปตรวจดูให้ถูก
เหอๆความจริงมันก้ error แบบที่ อ.บอกน่ะแร่ะครับ
ผมเห็นต่างจาก อ.นะครับ จากที่ผมทำมาถ้า 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 ออกมาดูครับ
$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 ออกมาดูครับ
ขอบคุณมากครับ สำหรับคำแนะนำ ตอนนี้แก้ได้แล้วครับ Thank