[英]Binding Paramaters in PHP PDO
我正在嘗試創建一個動態查詢生成器。
我有兩位代碼。
首先,創建PDO對象(我知道這可行),然后在我的querybuilder中運行搜索功能。
include 'core/database/dbloader.php';
$domainName = "lomcn.org";
$query = new dbquery(Connection::make($dbconfig['domainhistory']));
$query->search('dns','domain',$domainName);
搜索功能是-
public function search($table,$field,$domainName)
{
$statement = $this->pdo->prepare("SELECT * FROM {$table} WHERE {$field} LIKE :domain");
$statement->bindParam(":domain",$domainName);
$statement->execute();
return ($statement->fetchAll(PDO::FETCH_ASSOC));
}
這不會返回任何錯誤,但是不會顯示任何數據。 我想念什么嗎? 目的是您應該能夠運行
$query->search(table,field,value);
它就是有效的。
當然,什么都不會顯示,您還沒有告訴它什么都不會顯示。 沒有回顯命令。 沒有打印命令。 沒有。
代替$query->search(table,field,value);
您可以嘗試類似的方法;
foreach ($query->search(table,field,value) as $row) {
print $row['DB_COLUMN_1'];
print $row['DB_COLUMN_2'];
print $row['DB_COLUMN_3'];
}
另外,如果您在SQL語句中使用LIKE子句,則需要使用百分號作為通配符,否則LIKE子句將無法按預期工作。 因此,除非您要尋找完全匹配的內容,否則將bindParam更改為:
$statement->bindParam(":domain", "%" . $domainName . "%");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.