簡體   English   中英

如何從URL獲取參數並在PHP的MySQL查詢中使用它們

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM