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

) มาไปทางลัดกัน
คือเอาสร้างฟังก์ชั่นที่ไม่มีให้ใช้ ขึ้นมาใช้เอง โดยเอา ตัวฟังก์ชั่น 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 แก้ไข
(กรณี web server เป็น Linux)
ถ้าเป็น
(กรณี web server เป็น Windows)
ยัดมันกลับไปแล้ว restart web server
ดูเพิ่มเติม mysqli_query
https://www.mindphp.com/%E0%B8%84%E0%B8 ... query.html
php8php7php5
แนวทางแก้ปัญหา php error ว่า Uncaught Error: Call to undefined function mysql_real_escape_string() in...
สาเหตุของปัญหา คือ ตัวแปลภาษา [url=https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2127-php-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html]PHP[/url] ของเราไม่มีฟังก์ชั่น
[code]mysql_real_escape_string()[/code]
มันหานี้จะเจอปัญหา เมื่อเอาโค้ดที่เขียนไว้ตอน เป็น PHP5 แล้วเอามารันกับ PHP7 หรือ PHP8 สำหรับ ซึ่งได้ถอดฟังก์ชั่นนี้ ออกไปแล้ว
รวมถึงผองเพื่อนในตัว mysql_xxx
ทีนี้มาดูวิธีแก้กันง่ายๆ คือ เปลี่ยนไปใช้ สกุล
mysqli_xxx กันแทน mysql_xxx
เช่น
[code]mysql_real_escape_string()[/code]
แทนที่ด้วย
[code]mysqli_real_escape_string()[/code]
ค้นหาและแทนทีได้เลย
แต่สำหรับใครที่จะเอาทางลัดแบบขี้เกียจๆ ( :lol: :lol: ) มาไปทางลัดกัน
คือเอาสร้างฟังก์ชั่นที่ไม่มีให้ใช้ ขึ้นมาใช้เอง โดยเอา ตัวฟังก์ชั่น built in function ที่มีมาประยุกต์ใช้
ยกตัวอย่าง
[code]if(function_exists('mysql_real_escape_string') ) {
function mysql_real_escape_string($str){
return mysqli_real_escape_string($str);
}
}[/code]
โค้ดตัวอย่างนี้พี่เป็นแนวทางในการใช้งานนะครับ ไปเขียนต่อกันเองนะ
หรือ เอาลัดกว่านั้นก็
php.ini แก้ไข
[code]extension=mysql.so[/code]
(กรณี web server เป็น Linux)
ถ้าเป็น
[code]extension=mysql.dll[/code]
(กรณี web server เป็น Windows)
ยัดมันกลับไปแล้ว restart web server
ดูเพิ่มเติม mysqli_query
https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/63-%E0%B8%9F%E0%B8%B1%E0%B8%87%E0%B8%81%E0%B9%8C%E0%B8%8A%E0%B8%B1%E0%B9%88%E0%B8%99-php/1490-mysqli_query.html
[mtag]php8[/mtag][mtag]php7[/mtag][mtag]php5[/mtag]