因此,我将有一个页面,其中用户以URL结尾的/?ref=123
类型登陆。
然后,我想要实现的是在MySQL查询中使用ref 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所以回复可能会很慢:)
********** EDIT **********
由于我可能没有在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查询代码一起显示。然后是一个知道他的参考资料的特定捐赠者。价值会看到与他相关的结果。
答案 0 :(得分:2)
使用PHP7,这看起来像这样
$ref = $_GET['ref'] ?? null;
$sth = $dbh->prepare('SELECT foo FROM table WHERE table.ref = ?');
$sth->execute([$ref]);
$orders = $sth->fetchAll();
您应该有一些处理错误的方法(未设置ref)
请注意,最后一个变量(查询结果)称为订单。我不知道你期望的结果集是什么,但它只是为了说明它是有意义的称它为特定的(它实际上代表什么),而不是“行”,“结果”或类似。
请注意,PHP 7引入了所谓的null coalescing运算符,它简化了isset语句
PHP7
$ref = $_GET['ref'] ?? null;
PHP&lt; 7
$ref = isset($_GET['ref']) ? $_GET['ref']: null;