-4
이 함수로 SQL_injection을 중지하려고합니다. 하지만 왜이 오류가 발생하는지 궁금합니다.mysqli_real_escape_string 오류를 해결하려고 시도했습니다.
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'cms');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($link, "SET NAMES 'utf8';");
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysqli_real_escape_string($link, $str);
}
$SmjestajGPS = clean($_POST['SmjestajGPS']);
이 오류가있어 :
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home/ninpriva/public_html/admin/smjestaj-obrada.php on line 17
OK
을하지만 나는이 길을 갈 때 나는 오류가 없다 :
$SmjestajGPS = mysqli_real_escape_string($link, $_POST['SmjestajGPS']);
축하합니다! 스택 오버플로에 관해 가장 많이 묻는 질문 중 하나를 질문했습니다. –
함수 범위에서 정의되지 않은'$ link'에 대한 통지를받지 못했습니까? – mario
__Variable scope__ –