2012-10-13 79 views
3

我在這裏已經有點問題..MySQL的PDO不工作

我使用jQuery 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)不工作..我不知道爲什麼..有人能幫助我嗎?

+0

你能告訴什麼是$ DB之前把這個? –

回答

0

創建像

$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); 
+0

謝謝它的作品... –

+0

@WawanBrutalx您的歡迎 –

2

看起來你忘了你的實例化$ db對象像

$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) 
       ); 

嘗試查詢PDO連接。

嘗試$result = array();

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