我有一个如下所示的 url:
http://url/app/my.php?my=1,2&limit=2&lastid=0
我的参数长度可以变化,但始终用逗号分隔。我想将其添加到 mysql 查询中,我已尝试执行以下操作:
$limit = $_GET['limit'];
$lastid = $_GET['lastid'];
$my = $_GET['my'];
$all_news = $con->prepare("SELECT news.id, news.title, news.url, news.image_url, news.date, news.news_text, news.referer_img from news, team, contain WHERE team.id in (?) AND team.id = contain.team_id AND contain.news_id = news.id ORDER BY news.date DESC LIMIT ?, ?");
$all_news->bind_param("iii", $my, $lastid, $limit);
$all_news->execute();
$all_news->bind_result($id, $title, $url, $image_url, $date, $news_text, $referer_img);
我试过将它绑定(bind)为字符串和整数,但是 $my 数组似乎在查询中不起作用?我需要爆炸它然后内爆 $my 数组吗?或者我做错了什么?
最佳答案
你可以试试parse_str()和 parse_url()
$url = parse_url('http://url/app/my.php?my=1,2&limit=2&lastid=0', PHP_URL_QUERY);
parse_str($url);
稍后访问$my
$all_news = $con->prepare("SELECT news.id, news.title, news.url, news.image_url, news.date, news.news_text, news.referer_img from news, team, contain WHERE team.id in (?) AND team.id = contain.team_id AND contain.news_id = news.id ORDER BY news.date DESC LIMIT ?, ?");
$all_news->bind_param("iii", $my, $lastid, $limit);
$all_news->execute();
$all_news->bind_result($id, $title, $url, $image_url, $date, $news_text, $referer_img);
关于php - 将数组从 url 传递到 mySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767567/