php - 将数组从 url 传递到 mySQL 查询

标签 php mysql arrays

我有一个如下所示的 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/

相关文章:

php - date() 方法, "A non well formed numeric value encountered"不想格式化 $_POST 中传递的日期

php - 在 MySQL 中使用 JOIN 时避免出现歧义列错误

php - XAMPP PhpMyAdmin 错误 1045, "Access denied for user ' root' @'localhost'

java - 插入到 `table` 不存在的地方

sql - 根据某些列值复制行?

javascript - 我如何在 JavaScript 中对这个数组进行排序?

java - 如何在 t[][] 中对 a[] 中的整数进行随机排序,以使 a[] 中的所有整数彼此相邻?

javascript - 保存 HTML5 Canvas 图像,然后使用 PHP 通过电子邮件发送

php - 两个 DIV 元素在移动设备上未正确堆叠

arrays - 间接引用 bash 中的数组值