在我的PHP代码中,我传递了一个ID为PHP从SQL服务器获取信息。 它似乎很好地工作,但每当我有一个“&”的名字,这是行不通的作品“2017_test ID”SQL注入ID名称包含'&'
http://localhost/php/single-entry.php?document_id=2017_test%20id
这里的ID的更多
$doc_info = array();
$id = "ID not set";
if(isset($_GET['document_id'])) {
$id = $_GET['document_id'];
$id = str_replace('___', '&', $id);
$doc_info = get_document_info($id);
$doc_info['dummy'] = " ";
}
例子我知道正确的信息。一个ID的
例如不工作 “2017_e &我EDV”
http://localhost/php/single-entry.php?document_id=2017_e&i%20EDV
在这里,我让PHP警告:未定义指数。尽管数据在数据库中。
我将id传递给另一个函数,该函数使用此ID获取存储在数据库中的信息数组。 在第一个例子中我得到的数据,但如果名下有“&”我得到未定义指数
“不起作用”究竟意味着什么? – zerkms
了解url编码,因为像'?','='和'&'这样的特定字符在URL中具有特殊含义作为GET参数分隔符 –
$ _GET中的&是一个特殊字符。从G_GET转换为$ _POST,看看是否有帮助 – jeff