PHP - url 上带有两个或更多参数的 GET 方法
PHP - GET method with two or more parameters on the url
我正在使用 Slim framework
创建一个 REST API
。我试图在方法的 url 中使用两个参数,但它给我一个 404 Page Not Found
错误。
这是我的代码:
$app->get("/getUser/:user/:password",function($user,$password) use($app)
{
try{
$connection = getConnection();
$dbh = $connection->prepare("SELECT idUser FROM users WHERE user = ? and password = ?");
$dbh->bindParam(1,$user);
$dbh->bindParam(2,$password);
$dbh->execute();
$user = $dbh->fetchObject();
$connection = null;
header("HTTP/1.1 200");
header("Content-Type:application/json; charset=utf-8");
echo json_encode($user,JSON_UNESCAPED_UNICODE );
}catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
});
如果我只用一个参数创建方法,它就可以工作,但在同一时刻我放置了两个方法,它没有找到任何东西。
是否可以在url中发送两个参数?我该怎么做?
提前致谢!
1) 可以在Slim
中发送2个参数。
2) 您确定密码参数中的值与该字段中的任何值匹配吗?
终于找到了解决问题的方法。问题出在查询上。我将代码翻译成英文(以前不是英文的部分,比如变量等)以便更好地理解我的问题。
问题就在那里,因为变量的名称 password
有一个我认为 MySQL
不支持的字符,这是我收到错误的时候。现在我将变量的名称更改为 password
并且它可以正常工作!
我把它作为答案,因为也许有人和我有同样的问题。
我正在使用 Slim framework
创建一个 REST API
。我试图在方法的 url 中使用两个参数,但它给我一个 404 Page Not Found
错误。
这是我的代码:
$app->get("/getUser/:user/:password",function($user,$password) use($app)
{
try{
$connection = getConnection();
$dbh = $connection->prepare("SELECT idUser FROM users WHERE user = ? and password = ?");
$dbh->bindParam(1,$user);
$dbh->bindParam(2,$password);
$dbh->execute();
$user = $dbh->fetchObject();
$connection = null;
header("HTTP/1.1 200");
header("Content-Type:application/json; charset=utf-8");
echo json_encode($user,JSON_UNESCAPED_UNICODE );
}catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
});
如果我只用一个参数创建方法,它就可以工作,但在同一时刻我放置了两个方法,它没有找到任何东西。
是否可以在url中发送两个参数?我该怎么做?
提前致谢!
1) 可以在Slim
中发送2个参数。
2) 您确定密码参数中的值与该字段中的任何值匹配吗?
终于找到了解决问题的方法。问题出在查询上。我将代码翻译成英文(以前不是英文的部分,比如变量等)以便更好地理解我的问题。
问题就在那里,因为变量的名称 password
有一个我认为 MySQL
不支持的字符,这是我收到错误的时候。现在我将变量的名称更改为 password
并且它可以正常工作!
我把它作为答案,因为也许有人和我有同样的问题。