좋아, 이것은 나를 미치게 만든다. 내 PHP 버전은 5.2.17이다, MySQL 버전은 5.1.59"mysql_real_escape_string"오류가 데이터베이스에 연결 중입니다. 내가 뭘 잘못하고 있니?
내 자바 스크립트 (JQuery와)입니다 : 페이지로드
내 "file.php에 아약스 호출입니다
$(document).ready(function(){$.post("file.php",{"dropTable":tableName}, function(data){});});
<?php
require_once"getDBParameters.php";
$dbParameters = getDBParameters();
if($dbc = mysqli_connect($dbParameters['db_host'], $dbParameters['db_username'], $dbParameters['db_pass'], $dbParameters['db_name'])){
if(isset($_POST['dropTable'])){
$dropTable= $_POST['dropTable'] ;
$escapedRealString = mysql_real_escape_string($dropTable, $dbc);
echo ($escapedRealString);
exit();
}
}
?>
내가 말하는 PHP의 오류 : "다음 코드가 포함
같은 연결이 완벽하게 작동 내가 준비된 문을 사용하는 경우 나 사용자의 입력에 따라 MYSQL 테이블을 삭제하고 있습니다 때문에, 그러나,이 경우 준비된 문을 사용할 수 없습니다
이DROP TABLE $dropTable
PHP 매뉴얼 말한다 다음과 같은 준비된 명령문을 사용할 수 없습니다. "getDBParameters"함수가 정상적으로 작동한다는 것을 확신 할 수 있습니다. 뭐가 문제입니까? 다른 해결책?
'사용자 입력에 기반한 MYSQL 테이블을 삭제할 것이기 때문에이 경우 준비된 명령문을 사용할 수 없습니다. '와우 ... 쉬운 게임은 쉽습니다. –
@Damien 그는 적어도 깨끗한 인터페이스를 제공하고 있습니다. 바비 테이블이 필요하지 않습니다. ; o) – deceze
@DamienPirsy, 예 ... 개인 사이트의 백엔드입니다. 한 명의 사용자 만 로그인 할 수 있습니다 ... 여전히 예방 조치를 취해야합니다. 매우 감사드립니다. 매우 귀중한 의견 tho – dinchakpianist