簡體   English   中英

用PHP查詢包含HTML特殊字符的MySQL數據庫

[英]query mysql database containing HTML special character with php

...我再也沒有了。

我的數據庫包含一列'name'='John Richards'

我嘗試查詢它像:

$act = "John Richards";
prepareEditing($act);

function prepareEditing($act) {
include ($_SERVER['DOCUMENT_ROOT']."/final_ritg/includes/dbconnect.php");
$act = str_replace(" ", " ", $act);
$sql = "select `name`,`genre`, `members`, `story`, `image`, `contact_fname`, `contact_lname`, `contact_phone`, `contact_email` from `festival`.`act` where `name` = :name ;";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $act);
$stmt->execute();

echo $stmt->rowCount();
}

當“名稱”僅包含一個單詞(如“ john”)時,該函數返回1($ act也包含“ john”)。

我該如何准備查詢?

編輯:我正在全面使用utf8。

編輯:這是准備插入數據的stmt:$ stmt-> bindParam(':name',str_replace('','',$ name));

我這樣做是因為查詢結果在嘗試檢索時會在空白處被切斷。

事實證明,我的錯誤不是在php中,而是在html中。

我正在從表創建選擇列表。 因為名稱是唯一的,所以我將它們用作主鍵和每個選擇選項的值...這些都不喜歡空格。

這里的解決方案是在表中添加編號索引或進行一些字符串轉換(但這將為查詢字符串准備很多額外的工作),我尚不知道如何解決這個問題。

無論如何,也許另一個初學者遇到了同樣的陷阱,並發現這很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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