查询学说 1
Query with doctrine 1
我尝试从 phpMyAdmin 进行以下 sql 查询,他工作得很好并且 return 1 个结果符合原则 1 但我得到一个例外:
SQLSTATE[42S22]: Column not found: 1054 Champ 'MOY1100' inconnu dans
where clause. Failing Query: "select id_au FROM acteur_unite WHERE
code_unite = MOY1100 LIMIT 1"
此处 sql 查询谁在 phpMyAdmin 上工作:
SELECT id_au FROM acteur_unite
WHERE code_unite
= 'MOY1100' LIMIT 1
这是我的学说查询:
public function getId($code_unite) {
$con = Doctrine_Manager::getInstance()->connection();
$st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = $code_unite LIMIT 1");
$id = null;
// fetch query result
$data = $st->fetch(PDO::FETCH_ASSOC);
$id = $data['id_au'];
return $id;
}
我哪里错了?
非常感谢
您似乎遗漏了 var $code_unite
周围的引号
$st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = '$code_unite' LIMIT 1");
但要小心在 sql 中使用 var .. 你有被 sql 注入的风险。然后以正确的方式检查您的框架 param_binding .. 以避免这种风险
例如:
$st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = :code_unite LIMIT 1");
$st->bindParam(':code_unite', $code_unite, PDO::PARAM_STR);
我尝试从 phpMyAdmin 进行以下 sql 查询,他工作得很好并且 return 1 个结果符合原则 1 但我得到一个例外:
SQLSTATE[42S22]: Column not found: 1054 Champ 'MOY1100' inconnu dans where clause. Failing Query: "select id_au FROM acteur_unite WHERE code_unite = MOY1100 LIMIT 1"
此处 sql 查询谁在 phpMyAdmin 上工作:
SELECT id_au FROM
acteur_unite
WHEREcode_unite
= 'MOY1100' LIMIT 1
这是我的学说查询:
public function getId($code_unite) {
$con = Doctrine_Manager::getInstance()->connection();
$st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = $code_unite LIMIT 1");
$id = null;
// fetch query result
$data = $st->fetch(PDO::FETCH_ASSOC);
$id = $data['id_au'];
return $id;
}
我哪里错了?
非常感谢
您似乎遗漏了 var $code_unite
周围的引号 $st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = '$code_unite' LIMIT 1");
但要小心在 sql 中使用 var .. 你有被 sql 注入的风险。然后以正确的方式检查您的框架 param_binding .. 以避免这种风险
例如:
$st = $con->execute("select id_au FROM acteur_unite
WHERE code_unite = :code_unite LIMIT 1");
$st->bindParam(':code_unite', $code_unite, PDO::PARAM_STR);