Java / PHP中的空格

时间:2013-04-25 02:46:01

标签: java php sql

从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用户。

3 个答案:

答案 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']);