PDO错误调试

在服务器上用PDO操作数据库,怎么都获取不到数据,query语句返回null,但是同样的代码在本地运行无误。SO,开始找bug。

<?php
 $host=‘localhost‘;
        $dbname=‘my‘;
        $user="root";
        $password="root";
        $dsn="mysql:host=$host;dbname=$dbname";
        try{
             $pdo=new PDO($dsn,$user,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES ‘utf8‘;"));
        }catch(PDOException $e){
            die("错误:".$e->getMessage());
        }

        // $sql="select title,descript,picUrl,url from aa";
        $sql="select * from aa";
        $res=$pdo->query($sql);
        if($res==null){
        	show($pdo->errorInfo());
        }

  输出:

Array
(
    [0] => 42S02
    [1] => 1146
    [2] => Table ‘my.aa‘ doesn‘t exist
)

  够傻吧,我只在本地数据库上建表了,完全忘了和服务器数据库不是一回事。

总结两个知识点:

1、$res=$pdo->query($sql); 成功的话返回一个PDOStatement对象,失败返回空。

2、$pdo->errorInfo()获取错误信息。输出一个数组。

3、调试过程中遇到了这个错误提示:Notice: Array to string conversion in /var/www/html/wx/test.php on line 17  
  原因是$pdo->errorInfo()返回的是一个数组,而我试图用echo输出结果,改用print_r()或var_dump()打印数组就OK了。

时间: 2024-10-02 22:01:11

PDO错误调试的相关文章

jQuery之ajax错误调试分析

jQuery之ajax错误调试分析 jQuery中把ajax封装得非常好.但是日常开发中,我偶尔还是会遇到ajax报错.这里简单分析一下ajax报错 一般的jQuery用法如下,ajax通过post方式提交"汤姆和老鼠"这段数据到xxx.php文件中.成功后则打印返回的数据,失败则打印错误原因. 1 2 3 4 5 6 7 8 9 10 $.ajax({     url:"xxx.php",     type:"post",     dataty

【转】JQuery.Ajax之错误调试帮助信息

下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持. timeout Number 设置请求超时时间(毫秒).此设置将覆盖全局设置. async

添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试

本文转载至 http://blog.csdn.net/duxinfeng2010/article/details/8265273 linker command failed with exit code 1 (use -v to see invocation)这个错误貌似遇见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,然后一编译就出现这样错误(并不是一定会出这样错误),开始以为是网上下载的类库本身问题,所以重新找类库或者其他方式将它添加进去

【转】段错误调试神器 - Core Dump详解

from:http://www.embeddedlinux.org.cn/html/jishuzixun/201307/08-2594.html 段错误调试神器 - Core Dump详解 来源:互联网 作者:Alex 时间:2013-07-08 Tag:Linux   点击: 11670 一.前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来

[转]JQuery.Ajax之错误调试帮助信息

下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持. timeout Number 设置请求超时时间(毫秒).此设置将覆盖全局设置. async

JQuery.Ajax之错误调试帮助信息

原文:http://mybloggers.blog.163.com/blog/static/1003865092010111631741468/ 下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT

01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置

1.获得项目中info.plist文件的内容 1> [NSBundle mainBundle].infoDictionary 2> 版本号在info.plist中的key:kCFBundleVersionKey 2.沙盒的数据存储及读取 1> 数据存储: [[NSUserDefaults standardUserDefaults] setObject:version forKey:versionKey]; 存储数据时记得同步一下 [[NSUserDefaults standardUser

mysql 存储过程错误调试记录

 mysql存储过程错误调试记录 公司平台在mysql数据库上运行,一些存储过程报错,调试过程痛苦,记录错误及解决办法,供参考. 调试环境:dbForge Studio for MySQL 6.1版本,试用版: 1.BIZ_GET_ORGAN_BY_CONDITION 问题1:提示递归调用错误,递归次数太多:根据业务设置,最大255: [email protected]@max_sp_recursion_depth = 10; 常见如乱码造成导致条件失效,出现死循环: 问题2:变量的内容是乱

JavaScript错误调试

错误调试与处理 / 2-1 语法错误 语法错误: 不符合js语法的错误,控制台会告知出错的行号(但行号不一定准确). 常见语法错误: 1,符号漏错多少打. 2,使用了不合语法的变量名.(关键字,保留字不能做变量名). 3,语句写错,没写完等. 错误提示: Uncaught SyntaxError:Unexpected token xxx //未预料到xxx. identifier:变量名. 逗号表达式将会返回最后一个表达式的结果  错误调试与处理 / 2-2 运行时错误 运行时错误(Runtim