2009-07-03 67 views
0

現狀:PEAR數據源驅動程序錯誤

我創建一個客戶的網站數據庫中的用戶界面。我知道我可以簡單地使用phpMyAdmin,但對我的客戶來說太複雜了。相反,我儘管可以嘗試一些PEAR軟件包。在做了一些研究和下面的教程後,我決定使用Structures_DataGrid包。我目前正在關注sitepoint.com的書「The PHP Anthology」。它包含一些很棒的教程。

錯誤:

首先,我遇到了一些困難,安裝包,這樣我結束了從PEAR網站下載它們,將它們插入詮釋通過FTP服務器他。在完成所有設置之後,我按照本書的說明去了最後一個分號。但我得到這個錯誤:未知的DataSource驅動程序。請指定現有的驅動程序。我不知道這個錯誤來自哪裏或爲什麼。

代碼:

<?php 

    // Include PEAR::Structures_DataGrid 
    include('Structures/DataGrid.php'); 

    $datagrid = new Structures_DataGrid(2); 
    $options = array('dsn' => 'mysql://$user:[email protected]$db_host/$db_name'); 
    $sql = "SELECT * FROM Users"; 
    $bind = $datagrid->bind($sql, $options); 
    if (PEAR::isError($bind)) { 
     print('DataGrid Error: '. $bind->getMessage()); 
     $gridsource = ''; 
    } else { 

     // Define our Column labels, using a 'column' => 'Label' format 
     $columns = array(
      'id' => 'Id', 
      'status' => 'Status', 
      'last_login' => 'Last Login', 
      'startDate' => 'Start Date', 
      'fname' => 'First Name', 
      'lname' => 'Last Name', 
      'email' => 'Email', 
      'cName' => 'Company', 
      'cEmail' => 'Company Email', 
      'cCity' => 'City', 
      'cProvince' => 'Province', 
      'ctr' => 'Country', 
      'cSite' => 'Website'    
     ); 
     $datagrid->generateColumns($columns); 

     // Some more options, for our renderer 
     $renderer_options = array(
      'sortIconASC' => '&uArr;', 
      'sortIconDESC' => '&dArr;', 
      'headerAttributes' => array('bgcolor' => '#E3E3E3'), 
      'evenRowAttributes' => array('bgcolor' => '#A6A6A6'), 
     ); 
     $datagrid->setRendererOptions($renderer_options); 

     // Add some final attributes to our table 
     $renderer = $datagrid->getRenderer(); 
     $renderer->setTableAttribute('cellspacing', 0); 
     $renderer->setTableAttribute('cellpadding', 5); 
     $renderer->setTableAttribute('border', 1); 

     // Render the table, be sure to check for errors 
     $gridbody = $datagrid->getOutput(); 
     if (PEAR::isError($gridbody)) { 
      print('DataGrid render error: ' . $gridbody->getMessage()); 
      $gridbody = ''; 
     } 

     // Finally, render the pager, again checking for errors 
     $gridpager = $datagrid->getOutput(DATAGRID_RENDER_PAGER); 
     if (PEAR::isError($gridpager)) { 
      print('DataGrid render error: ' . $gridpager->getMessage()); 
      $gridpager = ''; 
     } 
     $gridsource = $gridbody . $gridpager; 
    } 

?> 

評論:

我所有的數據庫憑據是正確的。我正嘗試連接到Unix服務器上的MySQL數據庫。我相信我有所有必需的軟件包。我不認爲這個錯誤在代碼中。相反,這是驅動程序未啓用或類似的問題。

問:

好了,我不知道我的問題是什麼,因爲我不知道我的問題是什麼。我可以問'我如何指定驅動程序?','如何啓用/激活/包含驅動程序?'等。或者「以前有沒有人處理過這些問題,你做了什麼?」

任何幫助將不勝感激,在此先感謝。

回答

1

我真的不知道答案,只是一個更新。

我卸載了一切,並清除了我的服務器上的PHP目錄。然後我下載了go-pear.php腳本並重新安裝了所有東西。

現在一切正常!好極了!

相關問題