![](/img/trans.png)
[英]Get data from mysql table and use them in "IN" in sql query (PHP)
[英]How to get parameters from a URL and use them in a MySQL query in PHP
因此,我将创建一个页面,该页面上以/?ref=123
类型结尾的用户登陆到URL。 然后,我要实现的是在MySQL查询中使用该引用123
,如下所示: SELECT foo FROM table WHERE table.ref = 123
我遇到的问题是,如果我使用$_GET
来获取变量,则会中断我的SQL查询(显然!)
SELECT foo FROM table WHERE table.ref = $_GET['ref'];
失败,因为$_GET
不是MySQL函数。
麻烦的是,我想基于ref
值动态创建页面内容,但是我不知道如何。
任何帮助表示感谢。
时区GMT + 13,因此回复可能会很慢:)
**********编辑**********
由于我可能没有在OP中提供足够的信息,因此下面是我正在努力的代码:
<?php
global $wpdb;
header('Content-Type: text/html; charset=utf-8');
include "../../../wp-config.php";
$get_donation_amount = "select SUM(amount) AS total_donations from SaveContactForm7_1 where ref = 123 ";
$get_donation_amount_result = $wpdb->get_results($get_donation_amount);
$total_donation = isset($get_donation_amount_result[0]->total_donations) && $get_donation_amount_result[0]->total_donations !="" ? $get_donation_amount_result[0]->total_donations :"0" ;
?>
我需要做的是添加一个对ref
值的URL调用,并将其添加到与SQL查询代码一起显示的位置。 然后,知道他的“参考”价值的特定捐助者将看到与他无关的结果。
使用PHP7可能看起来像这样
$ref = $_GET['ref'] ?? null;
$sth = $dbh->prepare('SELECT foo FROM table WHERE table.ref = ?');
$sth->execute([$ref]);
$orders = $sth->fetchAll();
您可能应该有一些处理错误的方法(未设置参考)
请注意,最后一个变量(查询结果)称为订单。 我不知道您期望的结果是什么,但这只是为了说明,将其称为特殊的(实际上代表什么)而不是“行”,“结果”或类似内容是有意义的。
请注意,PHP 7引入了所谓的空合并运算符,该运算符简化了isset语句
PHP7的
$ref = $_GET['ref'] ?? null;
PHP <7
$ref = isset($_GET['ref']) ? $_GET['ref']: null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.