我正在尝试创建动态查询构建器。
我有两位代码。
第一位,创建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);
它只是有效。
答案 0 :(得分:0)
当然没有显示任何内容,你没有告诉它显示任何内容。没有回音命令。没有打印命令。什么都没有。
而不是$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 . "%");