簡體   English   中英

在PHP PDO中綁定參數

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

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