มันขึ้น Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Profile@job\sh_member_new.php on line 100 เท่ากับ เรกคอร์ด ในฐานข้อมูล และเท่ากันกับ $Pagesize และข้อมูลไม่ขึ้น ตามภาพคับ on line 100$result = mysql_fetch_array($dbquery2)
ขึ้นคับขึ้นแบบนี้ 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 'like '%search%' ORDER BY IDMember' at line 1
แล้วตัวนี้มาจากไหนครับ '%search%'
แล้วคำสั่งนี้ $sql2 = "SELECT * FROM applymember WHERE $field_search like '%search%' ORDER BY IDMember ";
ตรง $field_search เอามาจากไหนหรือครับ พอหลังจาก Where แล้วมันต้องเป็นชื่อฟิลด์ที่จะทำการค้นหาหรือเปรีบบเทียบต่อไปเช่น
$sql2 = "SELECT * FROM applymember WHERE Names like '%$_GET[field_search]%' ORDER BY IDMember ";
ผมไม่รู้ว่าผมเข้าใจถูกหรือเปล่านะครับ ถ้าผิดก็ขออภัยครับ
%search% = key word คำที่ต้องการค้นหา $field_search = ตัวกำหนดเลือก field ที่ต้องการค้นหาฐานข้อมูล (กำหนด IDMeber และ Names)
ผมลองแบบ
$sql2 = "SELECT * FROM applymember WHERE Names like '%$_GET[field_search]%' ORDER BY IDMember "; ของพี่phpbasic ไม่ขึ้นWarning และขึ้นข้อมูลทั้งหมดในฐานข้อมูล แต่ไม่สามารถ ค้นใดๆได้ ผมลองทำแบบนี้คับ
$sql2 = "SELECT * FROM applymember WHERE $field_search like '%$_GET[search]%' ORDER BY IDMember "; ก็เช่นเดียวกันไม่สามารถค้นหาใดๆได้ ผมต้องกำหนดยังไงนะคับ และผมลองแบบนี้คับ
$sql2 = "SELECT * FROM applymember WHERE $search like '%$_GET[$field_search]%' ORDER BY IDMember "; แต่ ก็ขึ้นแบบนี้ คับ Unknown column 'ค้นหา' in 'where clause'
สลับกันสิครับ
field คือ $_REQUEST[field_search]
คำค้นหาคือ คือ $search Code
$sql2 = "SELECT * FROM applymember WHERE $_REQUEST[field_search] like '%$search %' ORDER BY IDMember ";
Date :
2009-12-27 17:58:54
By :
xbeginner01
No. 13
Guest
ตอนนี้ผมปรับมาแบบนี้เพื่อให้ดูง่ายขึ้นโดยเหลือแค่ $sql เดียว และนำ $sql ของพี่ xbeginner01 มาใส่้ ผลปรากฏว่า ตอนเปิดรัน ขึ้น: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 'like '% %' ORDER BY IDMember' at line 1 >>ก่อนโดยไม่มีส่วนหัวของตารางขึ้นมาด้วย
พอใส่key word เลือก field IDMember ไม่ขึ้นอะไรขึ้นมา ถ้าใส่key word เลือก field Names อย่างคำไหนที่มีมากกว่า 1 ก็จะขึ้นแค่เรกคอร์เดียว และจะต้องใส่key word เต็มเท่านั้นถึงจะขึ้น และผมลองแบบนี้ก็ไม่ขึ้นอะไร : WHERE '%$_REQUEST[field_search]%' like '%$search %'
$sql = "SELECT * FROM applymember WHERE $_REQUEST[field_search] like '%$search %' ORDER BY IDMember "; echo "<script>alert('$sql')</script>";
ไม่ขึ้นpopupอะไร แค่ขึ้นว่า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 'like '% %' ORDER BY IDMember' at line 1 คิดว่าไม่ใช่ที่พี่ต้องการนะคับ ผมว่า
if(isset($_POST[search])){
include("config.php");
$sql = "SELECT * FROM applymember WHERE $_REQUEST[field_search] like '%$search%' ORDER BY IDMember ";
mysql_query("SET NAMES UTF8");
$dbquery=mysql_query ($sql,$conn) or die(mysql_error());