我正在構建一個網頁,根據URL參數來檢索數據。PHP修改URL參數後從MySQL中檢索數據參數
有兩個可能的參數。
1:這是使用$_GET['id']
2檢索id
:name
其使用$_GET['name']
檢索時我使用的id
參數它像自id
一個魅力檢索數據始終是一個數值和從來沒有字母文字。
但是當試圖使用name
參數檢索數據時,我沒有得到任何結果。
name參數正在檢查數據庫中的文章標題是參數。
例如,在URL中name
參數看起來像這樣:
http://example.com/safetyarticles/view.php?name=9-clues-to-solving-this-parameter-issue
而且在數據庫中的文章名稱爲:9 Clues To Solving This Parameter Issue
我已經寫了一些行刪除在我的URL參數中的破折號空格,然後大寫每個單詞來匹配文章名稱,但我沒有得到任何結果。
這是我寫的代碼:
$conn = getConnected("safetyArticles");
if(isset($_GET['id'])) {
$articleID = $_GET['id'];
$articleQuery = mysqli_query($conn, "SELECT * FROM currentArticles WHERE article_id = $articleID");
$article = mysqli_fetch_array($articleQuery);
}
else if(isset($_GET['name'])) {
$articleName = $_GET['name'];
$articleName = preg_replace("/[\-]/", " ", $articleName); // Replace dashes in URL parameter with spaces
$articleName = ucwords($articleName); // Uppercase first letter of each word of URL parameter
$articleQuery = mysqli_query($conn, "SELECT * FROM currentArticles WHERE article_name = $articleName");
$article = mysqli_fetch_array($articleQuery);
}
據我所知,用空格替換破折號和大寫每個單詞應該在數據庫中,$articleName
匹配article_name
。
我確實增加了一行echo $articleName
來查看輸出結果是什麼,結果是9 Clues To Solving The Mystery Of The Pilot Car
,它與數據庫中的標題相匹配,但結果未被拉出。
我直接從數據庫中拷貝出來,只是爲了表明標題確實是一樣的:9 Clues To Solving The Mystery Of The Pilot Car
。
我不知所措,因爲所有事情都應該如此。
工作。現在我有點困惑,因爲在'id'查詢中,它沒有它們,並且這個它需要它們。這是數字和字母的差異嗎? –
可能 - 但您應該將$ articleID更改爲'$ articleID'以及 – gavgrif
會這樣做。謝謝您的幫助。我會盡快讓我接受。 –