我有一些奇怪的观察与mysql_real_escape_string
。MYSQL真正转义字符串观察
试图本地主机WAMP服务器上的此代码时,我得到:
mysql_real_escape_string() expects parameter 1 to be string, array given
的代码是这样的:
$_POST= array (
'level_id' => '4',
'initLevel' => '4',
'subject_ids' =>
array (
0 => '6',
),
'category' => '11',
'areas' => '-1',
'dist_code' => '',
'district' => '',
'gender_preference' => '2',
'race' =>
array (
0 => '1',
1 => '2',
),
'with_photo' => '0',
'min_age' => '',
'max_age' => '',
'notification' => '1',
'ban_tutor' => '',
'sort_by' => 'regi_date',
'fromdate' => '',
'day' => '14',
'month' => '5',
'year' => '2017',
'todate' => '2017-06-14',
'result_page' => '10',
'search' => 'Search Tutors',
);
$_POST = array_map('mysql_real_escape_string', $_POST);
echo '<pre>' . var_export($_GET, true) . '</pre>';exit;
,但是当我试图在现场服务器上的相同。 我没有得到任何错误,但结果被剥离这样的数组值:
array (
'level_id' => '4',
'initLevel' => '4',
'subject_ids' => NULL,
'category' => '11',
'dist_code' => '',
'district' => '',
'gender_preference' => '2',
'race' => NULL,
'with_photo' => '0',
'min_age' => '',
'max_age' => '',
'notification' => '1',
'ban_tutor' => '',
'sort_by' => 'regi_date',
'fromdate' => '',
'day' => '14',
'month' => '5',
'year' => '2017',
'todate' => '2017-06-14',
'result_page' => '10',
'search' => 'Search Tutors',
)
需要一些方向,如何正确地使用它。
注:我知道mysql_real_escape-string
已被弃用,PDO是合适的解决方案。我只是在我的客户端的服务器上工作。立即改变整个系统是不可行的。
哪个版本的PHP是活的网站上,你用你的本地测试网站是什么版本? – RiggsFolly
在现场 - 5.6.30和localhost 5.6.25 – Pawan
用于连接的api是什么,mysql_'? 'mysqli_'? PDO?其他?和这里的HTML在哪里? @Pawan –