|
 37.4 Кб |
|
|
$db = Mapper_System_DB::getPDO();
$Q = $db->prepare("SELECT curr FROM tka_db WHERE rname= :rname");
$Q->execute(array(':rname' => $this->args['data']));
$curr=$Q->fetch();
$curr = $curr[0];
|
Данные приходят и отправляются, но execute возвращает false
При проведении запроса вручную всё работает (прикреплено) | |
|
|
|
|
|
|
|
для: alexander95
(20.10.2012 в 14:48)
| | После команды выполните командучто она выводит? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2012 в 17:13)
| |
SQL: [43] SELECT curr FROM tka_db WHERE rname= :rname Params: 1 Key: Name: [6] :rname paramno=-1 name=[6] ":rname" is_param=1 param_type=2
|
| |
|
|
|
|
|
|
|
для: alexander95
(20.10.2012 в 14:48)
| | А еще лучше обработайте сообщение об ошибке следующим образом
<?php
if(!$q->execute(...))
{
$arr = $q->errorInfo();
echo "<pre>";
print_r($arr);
echo "</pre>";
}
?>
| У вас выброс исключений подключен? Если подключен, вы их обрабатываете? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2012 в 17:38)
| | Обрабатываю. ErrorInfo выкидывает массив с [1] = 0000. Или как-то так. В общем, ошибки нету. | |
|
|
|
|
|
|
|
для: alexander95
(20.10.2012 в 17:50)
| | Соединение установлено корректно? Другие запросы вроде "SELECT VERSION()" обрабатываются нормально? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2012 в 18:14)
| | В принципе, да. Все корректно.
<?php
class Mapper_System_DB{
public static function getPDO($dbname = 'db'){
$conf = Mapper_System_Config::getMysqlSettings();
try {
$PDO = new PDO('mysql:host='.$conf['server'].';dbname='.$dbname.';charset=utf8', $conf['login'], $conf['password']);
} catch (PDOException $e) {
die('Connection failed: '.$e->getMessage());
}
return $PDO;
}
}
?>
|
То есть. при неудачном подключении он вылетал бы. Ну и запросы типа SELECT * FROM tka_db работают нормально. Если они вызываются с помощью ->query(); Такое чувство, что не работает (вылетает) именно этот execute() | |
|
|
|
|
|
|
|
для: alexander95
(20.10.2012 в 18:21)
| | А если прицепить параметр при помощи метода bindParam() ситуация не меняется? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2012 в 20:57)
| | Нет, не меняется :( | |
|
|
|