【问题标题】:pdo php query not showing anything for debugpdo php查询没有显示任何调试
【发布时间】:2017-09-22 09:01:10
【问题描述】:
print_r($con->_con);
echo "(SELECT * FROM fvwItems WHERE itemname LIKE :key)";
echo "\PDO::errorInfo():\n";
print_r($con->_con->errorInfo());// no error showing
$stmt = $con->_con->prepare("(SELECT * FROM fvwItems WHERE itemname LIKE :key)", array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
echo $stmt;//not putting any output
echo "\PDO::errorInfo():\n";
print_r($con->_con->errorInfo());

我有上面的查询,我只得到

Resource id #10
(SELECT * FROM fvwItems WHERE itemname LIKE :key)\PDO::errorInfo():

在 chrome 的开发工具中。我在try/catch 中也有查询,但我的查询中没有什么错误或问题是什么,因为它没有给我足够的信息来告诉我哪个有问题。

$stmt = $con->_con->prepare("(SELECT * FROM fvwItems WHERE itemname LIKE :key)", array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); 之外的任何内容都不会显示错误或不显示

检查查询有什么问题的最佳方法是什么?

UPDATE

我的连接是这样的:

$connectionOptions = array(
            "Database" => DB_NAME,
            "Uid" => DB_USER,
            "PWD" => DB_PASS
        );
        //Establishes the connection
        $this->_connection = sqlsrv_connect($serverName, $connectionOptions);

我想我需要它是 new PDO 以便它运行?

喜欢

$this->_connection = new PDO("sqlsrv:Server=$serverName;Database=".DB_NAME.";",DB_USER,DB_PASS);
print_r($this->_connection);

导致

PDO Object
(
)

但这并没有连接,并且出现错误

【问题讨论】:

  • 你不告诉我们$con->_con是什么,它真的有prepare()方法吗?您是否将 PHP 配置为 show useful error messages

标签: php sql-server pdo


【解决方案1】:

创建 PDO 对象后设置此选项:

$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

【讨论】:

    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多