情况:
我正在为客户的网站创建数据库用户界面。我知道我可以简单地使用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:$passwords@$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' => '⇑',
'sortIconDESC' => '⇓',
'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数据库。我确信我有所有必需的包裹。我认为错误不在代码中。相反,它是驱动程序未启用或类似的问题。
问题:
嗯,我不确定我的问题是什么,因为我不确定我的问题是什么。我可以问'我如何指定驱动程序?','我如何启用/激活/包含驱动程序?'或者“以前是否有人必须处理这些问题,你做了什么?”
非常感谢任何帮助,提前谢谢。
答案 0 :(得分:1)
我真的没有答案,只是更新。
我卸载了所有内容并清理了服务器上的PHP目录。然后我下载了go-pear.php脚本并重新安装了所有内容。
现在一切正常!耶!