2009-07-03 8 views
0

Situation:PEAR erreur du pilote DataSource

Je crée une interface utilisateur de base de données pour le site Web d'un client. Je sais que je pourrais simplement utiliser phpMyAdmin, mais c'est trop complexe pour mon client. Au lieu de cela, je pensais que je pourrais essayer certains des paquets PEAR. Après avoir fait des recherches et suivi des tutoriels, j'ai décidé d'aller avec le paquet Structures_DataGrid. Je suis actuellement en train de suivre le livre de sitepoint.com, 'The PHP Anthology'. Il contient quelques bons tutoriels.

Erreur:

D'abord, j'ai eu quelques difficultés à installer les paquets donc j'ai fini de les télécharger sur le site de PEAR et de les insérer int il serveur via FTP. Après tout ce qui était en place, j'ai suivi les instructions du livre jusqu'au dernier point-virgule. Mais je reçois cette erreur: Pilote inconnu DataSource. Veuillez spécifier un pilote existant. Je n'ai aucune idée d'où vient cette erreur ou pourquoi.

code:

<?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; 
    } 

?> 

Commentaires:

Toutes mes lettres de créance de base de données sont corrects. J'essaie de me connecter à une base de données MySQL sur un serveur Unix. Je suis sûr que j'ai tous les paquets nécessaires. Je ne pense pas que l'erreur soit ici dans le code. C'est plutôt un problème avec le pilote n'étant pas activé ou quelque chose comme ça.

Question:

Eh bien, je ne suis pas sûr de ce que ma question est parce que je ne suis pas sûr de ce que mon problème. Je pourrais demander des choses comme «Comment spécifier un pilote?», «Comment activer/activer/inclure un pilote? ou 'Quelqu'un a-t-il déjà dû faire face à ces problèmes et qu'avez-vous fait?'

Toute aide serait grandement appréciée, merci d'avance.

Répondre

1

Je n'ai vraiment pas de réponse, juste une mise à jour.

J'ai désinstallé tout et nettoyé le répertoire PHP sur mon serveur. J'ai ensuite téléchargé le script go-pear.php et j'ai tout réinstallé.

Maintenant tout fonctionne bien! Yay!