应用程序中的mysql查询结果与网站、Swift+PHP不同
当使用我的应用程序时,我从MySQL查询中得到的结果与仅使用URL得到的结果不同 以下内容访问数据库并显示包含$\u GET值的任何用户名的用户名和用户ID,通过URL访问时效果良好,但从我的应用程序调用时,显示数据库中的所有用户 服务器端:应用程序中的mysql查询结果与网站、Swift+PHP不同,php,mysql,ios,xcode,swift,Php,Mysql,Ios,Xcode,Swift,当使用我的应用程序时,我从MySQL查询中得到的结果与仅使用URL得到的结果不同 以下内容访问数据库并显示包含$\u GET值的任何用户名的用户名和用户ID,通过URL访问时效果良好,但从我的应用程序调用时,显示数据库中的所有用户 服务器端: <?php require("lib.php"); header('Content-type: application/json'); $username = $_GET['search']; $search = "%$username%"; $re
<?php
require("lib.php");
header('Content-type: application/json');
$username = $_GET['search'];
$search = "%$username%";
$result = query("SELECT username, userID FROM user_accounts WHERE username LIKE '%s'", $search);
if (!$result['error']) {
if (count($result['result'])>0) {
class Emp {
public $success = "";
public $result = "";
}
$e = new Emp();
$e->success = 1;
$e->result = $result['result'];
echo json_encode($e);
} else {
echo '{"success":0,"error_message":"No users found"}';
}
} else {
echo '{"success":0,"error_message":"Connection error"}';
}
?>
这是因为在你的应用程序中你发布了搜索查询,所以它是POST变量。使用此选项可同时允许post和get:
$username = $_REQUEST['search'];
非常有魅力,谢谢:未来读者注意:如果查询只是在内部使用sprintf,那么此代码就有SQL注入漏洞。始终使用最新的库绑定变量。
$username = $_REQUEST['search'];