从Java发送时空格不会改为强调 - > PHP - > SQL
Java代码:
String urlString = "http://www.mysite.com/auth/verifyuser.php?name="+name.toLowerCase().replace(" ","_");
PHP代码:
$name = mysql_real_escape_string($_GET['name']);
$name = str_replace(' ', '_', $name);
$query = "select * from authinfo where name LIKE '$name'";
mysql_query($query);
$num = mysql_affected_rows();
if ($num > 0) {
echo '1';
} else {
echo '0';
}
当我在SQL数据库上实现测试日志时,它似乎仍然显示空格而不是下划线(即使我用Java和PHP替换它)并且PHP文件返回' 0'而不是' 1'。我听说过这个问题可能是空白吗?它似乎只发生在某些用户身上,主要是mac用户。
答案 0 :(得分:0)
如果您的php文件返回0,则表示您的查询未执行。在执行查询之前,您在哪里与数据库建立连接?
答案 1 :(得分:0)
备注:where name = '$name'
mysql_affected_rows
关注INSERT,UPDATE和DELETE。
$r = mysql_query($query);
$num = mysql_num_rows($r);
答案 2 :(得分:0)
将原始名称传递到URL而不对其进行编码是不安全的。
String urlString = "http://www.example.com/auth/verifyuser.php?name=" + URLEncoder.encode(name.toLowerCase(), "UTF-8");
在PHP中,您可以获取数据:
$name = urldecode($_GET['name']);