Php 获取slim框架上的请求
我正在使用slim框架构建一个restful web服务。 我有两个表,其中包含以下条目:Php 获取slim框架上的请求,php,sql,slim,Php,Sql,Slim,我正在使用slim框架构建一个restful web服务。 我有两个表,其中包含以下条目: Table team id_team name 1 Brasil 2 England 3 Portugal Table Person id_pesorn id_team name age ... 1 1 Rafinha 23 ... 以及以下代码: require '../Slim/Slim/Slim.
Table team
id_team name
1 Brasil
2 England
3 Portugal
Table Person
id_pesorn id_team name age ...
1 1 Rafinha 23 ...
以及以下代码:
require '../Slim/Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->response()->header('Content-Type', 'application/json;charset=utf-8');
$app->get('/person/team/:name/:team','getPerson');
$app->run();
function getConn(){
...
}
function getPerson($name, $team){
$conn = getConn();
$sql = "SELECT id_team FROM team WHERE name=:team";
$stmt = $conn->prepare($sql);
$stmt->execute();
$pessoa = $stmt->fetchObject();
$sql1 = "SELECT * FROM person WHERE id_team=".$pessoa->id_team."and name=:name";
$stmt1 = $conn->prepare($sql1);
$stmt1->bindParam("team", $team);
$stmt1->bindParam("name", $name);
$stmt1->execute();
$pessoa1 = $stmt1->fetchObject();
echo "{pessoas:".json_encode($pessoa1)."}";
}
当我通过GET:localhost/services/pesorn/team/Rafinha/Brasil调用它时,给了我一个错误:
Slim Application Error
Details
Type: ErrorException
Code: 2
Message: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound
File: /Applications/XAMPP/xamppfiles/htdocs/aw014/webservice/services/index.php
Line: 38
但是应该以JSON返回:
{"id_person":"1","id_team":"1","nome":"Rafinha","idade":"23",...}
我不知道我做错了什么。谁能帮帮我吗。谢谢。只需使用
$stmt1->bindParam(“:name”,“$name”)代码><代码>$stmt1->bindParam(“团队”,“团队”)代码>未绑定任何内容,因此您可以将其删除。您可以在doc页面上看到这一点和更多内容:而不是绑定param,这在第一个“team”查询中是不做的。使用:$stmt->execute(数组(':team'=>$team));注意键上的前导“:”。有用链接: