Я начинаю создавать небольшую оболочку PDO, которую я буду использовать для своего приложения. Однако, когда я начал кодировать, я столкнулся с проблемой, которую не могу решить.
Проблема, с которой я столкнулся, заключается в том, что метод execute () в PDOStatement возвращает false, и я не знаю, что-то не так с привязкой значения или выполнением. Я проверил запрос (который в любом случае очень прост), и он отлично работает. Подключение к серверу тоже работает нормально.
Я надеюсь, вы можете помочь! Вот мой код:
<?php
class DataBase {
private $PDO;
private static $instancia;
public static function getInstance() {
if (!self::$instancia instanceof self) {
self::$instancia = new self;
}
return self::$instancia;
}
function __construct() {
$configuracion = Configuracion::getInstance();
// echo "mysql:host={$configuracion->dbHost};dbname=mysql", $configuracion->dbUser, $configuracion->dbPassword;
try {
$this->PDO = new PDO("mysql:host={$configuracion->dbHost};dbname=mysql", $configuracion->dbUser, $configuracion->dbPassword);
debug("conectado a la db", __FILE__, __LINE__);
} catch (PDOException $e) {
debug($e->getMessage(), __FILE__, __LINE__);
}
}
function selectDistanceFromDistances($a, $b) {
$sentencia = $this->PDO->prepare('SELECT distance FROM distances WHERE a = ? AND b = ?;');
// debug($sentencia->execute(array($a, $b)));
$sentencia->bindValue(1, 15, PDO::PARAM_INT);
$sentencia->execute();
$this->PDO->errorInfo();
$resultado = $sentencia->fetchAll();
return $resultado;
}
}
?>
Спасибо!