Php Can';找不到什么';PDO语句::Execute有什么问题吗=/
我开始构建一个用于我的应用程序的小PDO包装器。然而,当我开始编码时,我遇到了一个似乎无法解决的问题 我的问题是PDO语句的execute()返回false,我不知道值绑定或执行是否有问题。我已经测试了这个查询(不管怎样,它非常简单),并且运行良好。与服务器的连接也正常工作 我希望你能帮忙!这是我的密码:Php Can';找不到什么';PDO语句::Execute有什么问题吗=/,php,pdo,Php,Pdo,我开始构建一个用于我的应用程序的小PDO包装器。然而,当我开始编码时,我遇到了一个似乎无法解决的问题 我的问题是PDO语句的execute()返回false,我不知道值绑定或执行是否有问题。我已经测试了这个查询(不管怎样,它非常简单),并且运行良好。与服务器的连接也正常工作 我希望你能帮忙!这是我的密码: <?php class DataBase { private $PDO; private static $instancia; public sta
<?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;
}
}
?>
谢谢
$sentencia->execute();
$this->PDO->errorInfo();
您正在执行执行,然后询问错误信息,但实际上您没有对错误信息执行任何操作!您似乎有一个调试功能,所以在这里使用它似乎是一个好主意
您的查询有两个占位符,但您只绑定了其中一个占位符,所以这可能就是错误所在
您可能需要考虑和使用Test/catch。默认情况下,PDO在构造函数之外是静默的
您正在执行执行,然后询问错误信息,但实际上您没有对错误信息执行任何操作!您似乎有一个调试功能,所以在这里使用它似乎是一个好主意 您的查询有两个占位符,但您只绑定了其中一个占位符,所以这可能就是错误所在您可能需要考虑和使用Test/catch。PDO在构造函数之外默认是静默的。
在我绝望的情况下,我一定是在这里粘贴了错误的代码。如果启用异常模式没有帮助,我会修复这些错误并返回给你们。:)好吧,我连接到了错误的数据库,这是一个愚蠢的深夜错误。谢谢你的回答,查尔斯!在我的绝望中,我一定是把错误的代码粘贴到这里了。如果启用异常模式没有帮助,我会修复这些错误并返回给你们。:)好吧,我连接到了错误的数据库,这是一个愚蠢的深夜错误。谢谢你的回答,查尔斯!