$x = ซีรั่ม (จาก form)




$z = ซีรั่ม (จาก Database)




พอเช็คค่าดู มันบอกว่า $z เป็น string ขนาด5ตัว แต่ $x เป็น string ขนาด23ตัว

ใน database ตั้งเป็น varchar ขนาด60ตัวอักษร ผิดพลาดตรงไหนหรอครับ อยากให้มัน เช็คค่าซ้ำครับ


กรกฎ วิริยะ 27 ธ.ค. 2554 15:27
$z น่าจะถูก มี 5 ตัวอักษร ที่ผิดคงเป็น $x



ปัญหาคือ อ่าน $sx มาได้ยังไงมาจากการ submit หรือเปล่า



ดูจากคำอธิบายที่ให้มา เป็นไปได้หลายทางเช่น



1. ไฟลืและ database เป็นคนละอักขระกัน ควรตรวจสอบให้ทั้งสองส่วนเป็นชนิดเียวกันคือ Ansi(TIS-620) หรือ UTF-8

2. ข้อความที่ได้จาก $x อาจเข้ารหัสอยู่ ถ้ามาจากการ submit ลองใช้ rawurldecode() ดู
ไม่ทราบ 27 ธ.ค. 2554 16:33
$x submit มาครับ แล้ว rawurldecode() คืออะไรหรอครับ แล้วใช้ยังไงอ่าครับ
กรกฎ วิริยะ 27 ธ.ค. 2554 17:06
$x = rawurldecode($x);
ไม่ทราบ 28 ธ.ค. 2554 08:48
เหมือนเดิมครับ ยังเป็น string 23ตัวอักษรเหมือนเดิม ขอความรู้หน่อยได้มั้ยครับ ทำเว็บมาตั้งนานก็ไม่เคยเจอปัญหาแบบนี้ form ก็สร้างแบบธรรมดาเหมือนกันทุก page แต่ทำไมอันนี้จึงเกิดปัญหาครับ ไม่เคยเจอมาก่อนเลยแบบนี้
กรกฎ วิริยะ 28 ธ.ค. 2554 09:15
ใบเสนอราคาโดย หมายเหตุ #4เหมือนเดิมครับ ยังเป็น string 23ตัวอักษรเหมือนเดิม ขอความรู้หน่อยได้มั้ยครับ ทำเว็บมาตั้งนานก็ไม่เคยเจอปัญหาแบบนี้ form ก็สร้างแบบธรรมดาเหมือนกันทุก page แต่ทำไมอันนี้จึงเกิดปัญหาครับ ไม่เคยเจอมาก่อนเลยแบบนี้


555+++ บางครั้งปัญหาแบบนี้ก็หญ้าปากคอกครับ



ถ้าข้อความไม่ได้เข้ารหัส ปัญหาอาจอยู่ที่ภาษาครับ



ตรวจสอบว่าทุกอย่างเป็นภาษาเดียวกันทั้งหมด ไฟล์,header,database,field



ลอง echo เอา query ที่ใช้ออกมาดู



ลองแสดงผลลัพท์การ query (ข้อมูลดิบ)



ลองเปลี่ยนเป็นภาษาอังกฤษ



ลองใช้วิธีเปรียบเทียบใน query
ไม่ทราบ 28 ธ.ค. 2554 09:39
ขอบคุณครับ