douzuanze0486 2014-05-17 15:12
浏览 34

得到苗条框架的请求

I'm using the slim framework to build a restful web service. I have two tables with the following entries:

Table team
id_team    name
1          Brasil
2          England
3          Portugal

Table Person
id_pesorn id_team name     age ...
1          1       Rafinha 23  ...

and the following code:

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)."}";
}

when I call it by GET: localhost/services/pesorn/team/Rafinha/Brasil gives me a error:

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

but should return in JSON:

{"id_person":"1","id_team":"1","nome":"Rafinha","idade":"23",...}

I don't know what I'm doing wrong. Could anyone help me. Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog