Page 1 of 1

แนวทางแก้ปัญหา php error Uncaught Error: Call to undefined function mysql_real_escape_string() in...

Posted: 01/12/2020 2:13 am
by mindphp
แนวทางแก้ปัญหา php error ว่า Uncaught Error: Call to undefined function mysql_real_escape_string() in...

สาเหตุของปัญหา คือ ตัวแปลภาษา PHP ของเราไม่มีฟังก์ชั่น

Code: Select all

mysql_real_escape_string()
มันหานี้จะเจอปัญหา เมื่อเอาโค้ดที่เขียนไว้ตอน เป็น PHP5 แล้วเอามารันกับ PHP7 หรือ PHP8 สำหรับ ซึ่งได้ถอดฟังก์ชั่นนี้ ออกไปแล้ว
รวมถึงผองเพื่อนในตัว mysql_***
ทีนี้มาดูวิธีแก้กันง่ายๆ คือ เปลี่ยนไปใช้ สกุล
mysqli_*** กันแทน mysql_***
เช่น

Code: Select all

mysql_real_escape_string()
แทนที่ด้วย

Code: Select all

mysqli_real_escape_string()
ค้นหาและแทนทีได้เลย

แต่สำหรับใครที่จะเอาทางลัดแบบขี้เกียจๆ ( :lol: :lol: ) มาไปทางลัดกัน
คือเอาสร้างฟังก์ชั่นที่ไม่มีให้ใช้ ขึ้นมาใช้เอง โดยเอา ตัวฟังก์ชั่น built in function ที่มีมาประยุกต์ใช้
ยกตัวอย่าง

Code: Select all

if(function_exists('mysql_real_escape_string') ) {
function mysql_real_escape_string($str){
 return mysqli_real_escape_string($str);
}
}
โค้ดตัวอย่างนี้พี่เป็นแนวทางในการใช้งานนะครับ ไปเขียนต่อกันเองนะ

หรือ เอาลัดกว่านั้นก็
php.ini แก้ไข

Code: Select all

extension=mysql.so
(กรณี web server เป็น Linux)
ถ้าเป็น

Code: Select all

extension=mysql.dll
(กรณี web server เป็น Windows)

ยัดมันกลับไปแล้ว restart web server

ดูเพิ่มเติม mysqli_query
https://www.mindphp.com/%E0%B8%84%E0%B8 ... query.html
php8php7php5