error al utilizar real_escape_string dentro de una función
Publicado por Antonio (1 intervención) el 20/11/2019 13:09:42
Hola! recibo este error al ejecutar una función:
Notice: Undefined variable: db in /home/byte2000/public_html/cart/cart1.php on line 32
Fatal error: Uncaught Error: Call to a member function real_escape_string() on null in /home/byte2000/public_html/cart/cart1.php:32 Stack trace: #0 /home/byte2000/public_html/cart/cart1.php(203): sanitize('webperfecto@hot...') #1 {main} thrown in /home/byte2000/public_html/cart/cart1.php on line 32
La variable db esta definida mas arriba de la función dentro de dbConfig.php
real_escape_string funciona si lo ejecuto fuera de función pero dentro de la funciona devuelve ese error, por que ocurre esto? Muchas Gracias...
Linea 32:
Todo el código:
Notice: Undefined variable: db in /home/byte2000/public_html/cart/cart1.php on line 32
Fatal error: Uncaught Error: Call to a member function real_escape_string() on null in /home/byte2000/public_html/cart/cart1.php:32 Stack trace: #0 /home/byte2000/public_html/cart/cart1.php(203): sanitize('webperfecto@hot...') #1 {main} thrown in /home/byte2000/public_html/cart/cart1.php on line 32
La variable db esta definida mas arriba de la función dentro de dbConfig.php
real_escape_string funciona si lo ejecuto fuera de función pero dentro de la funciona devuelve ese error, por que ocurre esto? Muchas Gracias...
Linea 32:
1
$output = $db->real_escape_string($input);
Todo el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
include 'Cart.php';
include 'dbConfig.php';
function cleanInput($input) {
$search = array(
'@<script[^>]*?>.*?</script>@si', // Elimina javascript
'@<[\/\!]*?[^<>]*?>@si', // Elimina las etiquetas HTML
'@<style[^>]*?>.*?</style>@siU', // Elimina las etiquetas de estilo
'@<![\s\S]*?--[ \t\n\r]*>@' // Elimina los comentarios multi-línea
);
$output = preg_replace($search, '', $input);
return $output;
}
function sanitize($input) {
global $link;
if (is_array($input)) {
foreach($input as $var=>$val) {
$output[$var] = sanitize($val);
}
}
else {
if (get_magic_quotes_gpc()) {
$input = stripslashes($input);
}
$input = cleanInput($input);
$output = $db->real_escape_string($input);
}
return $output;
}
Valora esta pregunta
0