mysql PDO不起作用

时间:2012-10-13 08:01:36

标签: php mysql pdo

我这里有点问题..

我正在使用jquery easy UI从mysql获取数据,然后在我的php应用程序中编写一个表..

不......问题是..我的代码或我的查询不起作用..

当我使用旧的mysql_connect时,我的代码运行良好......但是当我尝试将其写入mysql时,我什么都没得到......

这是我的旧代码:

$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    $offset = ($page-1)*$rows;

    $result = array();

    $conn = mysql_connect('127.0.0.1','root','');
    mysql_select_db('colosus',$conn);

    $rs = mysql_query("select count(*) from user");
    $row = mysql_fetch_row($rs);
    $result["total"] = $row[0];

    $rs = mysql_query("select * from user limit $offset,$rows");

    $rows = array();
    while($row = mysql_fetch_object($rs)){
        array_push($rows, $row);
    }
    $result["rows"] = $rows;

    echo json_encode($result);

及其PDO查询代码......

$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    $offset = ($page-1)*$rows;

    $result = array();



    $rs = $db->query("select count(*) from user");
    $row = $rs->fetch(PDO::FETCH_NUM);
    $result["total"] = $row[0];

    $rs = $db->query("select * from user as u, leveluser as l where u.idLevelUser = l.idLevelUser limit $offset,$rows");

    $rows = array();
    while($row = $rs->fetch(PDO::FETCH_OBJ)){
        array_push($rows, $row);
    }
    $result["rows"] = $rows;

    echo json_encode($result);

最后一个查询(PDO)不起作用..我不知道为什么..任何人都可以帮助我???

2 个答案:

答案 0 :(得分:2)

看起来你忘了实例化$ db对象。

尝试将其放在$result = array();

之前
$db = new PDO("mysql:host=127.0.0.1;dbname=colosus", 'root', '');

答案 1 :(得分:0)

创建像

这样的pdo连接
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8',
               'username',
               'password', 
               array(PDO::ATTR_EMULATE_PREPARES => false,
                     PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
               );

尝试查询

$query= $db->prepare("select * from user as u,
                       leveluser as l
                       where u.idLevelUser = l.idLevelUser
                       limit $offset,$rows");

$query->execute();
$result=$articlequery->fetch(pdo::FETCH_ASSOC);