这是我的代码的一部分:
if(!isset($_GET['username']) || !isset($_GET['sessionid']))
{
$returning = array('error' => 'Invalid query');
echo json_encode($returning);
break;
}
echo $_GET['username'];
$z = mysql_real_escape_string($_GET['username']);
echo $z;
我的疑问:
tymonradzik.pl/THUNDER_HUNTER/thapi.php?q=xxx&username=ty221&sessionid=JRHjYqeZKBPq1LPPck0XrnCwJU2UKnfufWNem1d7D3yEOnu0HvX9SAFCuIxe6MImJwA6xNdbQLPF9kGRPE0IeGkJoRXvEGRncrtKfGV6sLLB5ssV6sDk9X3xP13tHUQU
只返回“ty221”,但应该是“ty221ty221”。错误在哪里?
答案 0 :(得分:0)
如果未指定链接标识符,则假定
mysql_connect()
打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像mysql_connect()
被调用而没有参数。如果未找到或建立连接,则会生成E_WARNING
级错误。返回转义字符串,或者出错时为
FALSE
。
有根据的猜测是,您没有与数据库的有效连接,因此mysql_real_escape_string
尝试使用php.ini
中失败的配置值打开新连接。
强制性安全通知:
您使用的是an obsolete database API,应使用a modern replacement。您也易受 SQL injection attacks攻击,现代API可以让您更轻松地defend自己。