A-AA+then

ค่าตัวแปร เหมือนแต่ไม่เท่ากัน

958
    
        $x = ซีรั่ม (จาก form)
    
        $z = ซีรั่ม (จาก Database)
    
        พอเช็คค่าดู มันบอกว่า $z เป็น string ขนาด5ตัว แต่ $x เป็น string ขนาด23ตัว
        ใน database ตั้งเป็น varchar ขนาด60ตัวอักษร ผิดพลาดตรงไหนหรอครับ อยากให้มัน เช็คค่าซ้ำครับ

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

$z น่าจะถูก มี 5 ตัวอักษร ที่ผิดคงเป็น $x

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

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

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

$x submit มาครับ แล้ว rawurldecode() คืออะไรหรอครับ แล้วใช้ยังไงอ่าครับ
2

$x = rawurldecode($x);
3

เหมือนเดิมครับ ยังเป็น string 23ตัวอักษรเหมือนเดิม ขอความรู้หน่อยได้มั้ยครับ ทำเว็บมาตั้งนานก็ไม่เคยเจอปัญหาแบบนี้ form ก็สร้างแบบธรรมดาเหมือนกันทุก page แต่ทำไมอันนี้จึงเกิดปัญหาครับ ไม่เคยเจอมาก่อนเลยแบบนี้
4

อ้างจากคำตอบที่ #4เหมือนเดิมครับ ยังเป็น string 23ตัวอักษรเหมือนเดิม ขอความรู้หน่อยได้มั้ยครับ ทำเว็บมาตั้งนานก็ไม่เคยเจอปัญหาแบบนี้ form ก็สร้างแบบธรรมดาเหมือนกันทุก page แต่ทำไมอันนี้จึงเกิดปัญหาครับ ไม่เคยเจอมาก่อนเลยแบบนี้

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

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

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

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

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

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

ลองใช้วิธีเปรียบเทียบใน query
5

ขอบคุณครับ
6
^