API 不允许文本

我刚刚为我正在处理的 CAD/MDT 创建了一个简单的 API,当我执行 /citations/userid/1 时,我设法让它显示正确的信息。这将显示 SQL 数据库中的所有正确值,但是,如果我执行 /citations/issued_by/kevingorman1000,它只会抛出错误。我不知道错误是什么,因为我使用的是 Slim php 并且似乎无法显示错误。


任何想法为什么它不起作用?我在下面添加了我的代码..


$app->get('/citation/issuedby/{issued_by}', function(Request $request, Response $response){


$issued_by = $request->getAttribute('issued_by');


$sql = "SELECT * FROM ncic_citations WHERE issuedby = $issuedby";

try{


    // Get DB Object

    $db = new db();

    // Call Connection to DB

    $db = $db->connect();


    $stmt = $db->query($sql);


    $issby = $stmt->fetchAll(PDO::FETCH_OBJ);

    $db = null;


    echo json_encode($issby);


} catch(PDOExecption $e) {

    echo '{"error"} : {"text": '.$e->getMessage().'}';

}});

任何想法为什么会这样?它只允许通过号码获取还是我还需要做其他事情?第一次使用这个,对 PHP 也有点陌生。


慕慕森
浏览 171回答 2
2回答

慕工程0101907

这是因为 SQL 错误(字符串周围缺少引号)。您尝试发送查询$sql = "SELECT * FROM ncic_citations WHERE issuedby = kevingorman1000";正确的查询必须是$sql = "SELECT * FROM ncic_citations WHERE issuedby = 'kevingorman1000'";
打开App,查看更多内容
随时随地看视频慕课网APP