gpt4 book ai didi

PHP - 无法将 URL 查询字符串传递给数据库查询模型

转载 作者:行者123 更新时间:2023-11-29 11:59:49 25 4
gpt4 key购买 nike

使用 PHP 5.6 和 PostgreSQL

我对 PHP 比较陌生。我正在使用查询字符串对页面上的结果进行排序,如下所示:

if (isset($_GET['sort'])) {

$criteria = $_GET['sort'];
$result = get_all_sorted_restaurants_with_limit($limit, $criteria);

} else {

$result = get_all_restaurants_with_limit($limit);

}

其中“排序”是 url 查询字符串值。通过执行 var_dump,我可以看到它正确地获取了一个字符串值。

接下来,如果设置了值,它会在我的模型中调用以下方法:

function get_all_sorted_restaurants_with_limit($limit, $sort) {

$conn = open_database_connection();

$result = pg_query($conn, "SELECT * FROM restaurant r WHERE r.Type =
$sort LIMIT $limit;");

close_database_connection();

return $result;

}

这里是事情变得不稳定的地方:当我尝试使用 $sort 时,在 get_all_sorted_restaurants_with_limit 方法中,它没有返回任何内容。但是,如果我自己设置它(即“运动酒吧”,像这样:

    $result = pg_query($conn, "SELECT * FROM restaurant r WHERE r.Type  = 'sports bar' LIMIT $limit;");

它有效。 var 转储显示这与从查询 url 中获取的字符串完全相同。

我该如何解决这个问题?我需要施放它,还是获取一个 strval() (我已经试过了,不起作用....)。

最佳答案

看起来你只是缺少 $sort 周围的单引号:

$result = pg_query($conn, "SELECT * FROM restaurant r WHERE r.Type = '$sort' LIMIT $limit;");

关于PHP - 无法将 URL 查询字符串传递给数据库查询模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29573521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com