我有一个函数,PDO准备和执行查询总是返回错误
总是返回给我一个错误,即使在phpMyAdmin的时候我过去询问有结果。
我猜在我的查询中有些问题,但我不知道是什么。我曾经做我的代码做mysql_real_escape_string,然后我转向PDO,他们告诉我,我应该做一个逃避GET VAR的准备,所以我试着做。
下面是我的查询
public static function getDetailService($param) {
global $bdd;
$detail = $bdd->prepare('SELECT
spb_services.spb_services__name,
spb_services.spb_services__description,
spb_services.spb_services__banner,
spb_services.spb_services__tabs,
spb_services.spb_services__category
FROM spb_services
WHERE spb_services.spb_services__name LIKE :service');
$detail->bindValue(':service', $_GET[$param], PDO::PARAM_STR);
$resultat = $detail->fetchAll(PDO::FETCH_ASSOC);
//var_dump($_GET[$param]);
$detail->debugDumpParams();
$lignes = $detail->fetchColumn();
//var_dump($lignes);
$detail = $detail->fetchAll(PDO::FETCH_ASSOC);
$retour = ($lignes > 0) ? array('status' => 'ok') : array('status' => 'error');
var_dump($retour);
}
当我调用该函数:$service = nosServices::getDetailService('service');
瓦尔转储
var_dump($_GET[$param])
回报对我有什么期望(从URL)
然后我做了$detail->debugDumpParams();
我通过我的本地主机phpmyadmin中的查询,它返回给我什么预期,但不是当使用PDO。
我猜小事情是错误的,我不知道是什么。
这将返回没有错误,但总是错误,因为如果没有num_rows_result
总结起来麻烦,得到返回什么期望,但是当我们去查询,它返回任何结果(除我的phpmyadmin复制和粘贴查询)的帮助下
Anykind将非常感激
编辑:做其他用户
' “:服务”'这里去除双引号。在'bindValue'加上':''以前 – Daan
service'我仍然是一个错误 –
它仍然不能正常工作: SQL:[270] SELECT spb_services.spb_services__name,spb_services.spb_services__description,spb_services.spb_services__banner,spb_services.spb_services__tabs,spb_services。 spb_services__category FROM spb_services WHERE spb_services.spb_services__name LIKE:service Params:1 Key:Name:[8]:service paramno = -1 name = [8]“:service”is_param = 1 param_type = 2 –