无法输入php命令phpMyAdmin

时间:2014-03-27 00:05:10

标签: phpmyadmin

我正在使用Debian(jessie)。我使用phpMyAdmin的Create database函数创建了一个数据库(Cars)。我正在读一本书“PHP的喜悦”。创建表后,作者想要使用SQL命令创建表(INVENTORY)。好吧,phpMyAdmin不允许我在SQL查询文本区域输入任何文本。我使用Create table函数(按钮)创建了表。如果我单击左侧窗格或上面的选项卡中的INVENTORY表,我会收到以下错误消息:

    Error

    SELECT 'prefs' FROM 'phpmyadmin' . 'pma__table_uiprefs' WHERE 'username' = 'jeff' AND           'db_name' = 'Cars' AND 'table_name' = 'INVENTORY'

    MySQL said:

    #1146 - Table 'phpmyadmin.pma__table_uiprefs'
    doesn't exist

如果我点击INVENTORY或上面的Structure选项卡下的列,我可以查看表格和列。此外,当我单击SQL选项卡时,我可以在右侧窗格中查看表列,并在SQL命令文本字段中显示数字1。如果需要更多信息,请告诉我。

谢谢, 杰夫

=============================================== =================================

好的,我摆脱了所有的错误信息。我终于能够通过删除phpmyadmin数据库将create_tables.sql.gz导入phpMyAdmin,将create_tables.sql.gz解压缩到一个临时目录,然后将create_tables.sql导入phpMyAdmin。幸运的是,我不再收到错误消息。不幸的是,我仍然无法在SQL文本区域中输入任何文本。我确实创建了一个sql文件来导入并创建一个数据库和表。这完美无瑕。所以我仍然认为这里有一个错误。

我在Source Forge提交了一份错误报告,但我从他们那里获得的是我的版本已经过时了。我正在使用aptitude安装版本(下面是详细信息)。我每天都会更新资质。我在Windows上的版本较旧,但似乎没有过时到不工作的程度。谢谢你的阅读。

数据库服务器: 服务器:通过UNIX套接字的Localhost 服务器类型:MySQL 服务器版本:5.5.35-2 - (Debian) 协议版本:10 用户:jeff @ localhost 服务器字符集:UTF-8 Unicode(utf8)

Web服务器: Apache / 2.4.7(Debian) 数据库客户端版本:libmysql - 5.5.35 PHP扩展:mysqli文档

phpMyAdmin的: 版本信息:4.1.9deb1

3 个答案:

答案 0 :(得分:0)

该表名是phpMyAdmin Configuration Storage的一部分,用于提供对书签查询等内容的访问,或者在pma__table_uiprefs表的情况下,用于自定义显示的排序和列顺序浏览。

然而,这个错误消息很奇怪,因为如果phpMyAdmin找不到表,通常会在主页上显示一条警告消息,如

  

phpMyAdmin配置存储未完全配置,某些扩展功能已停用。要找出原因,请点击此处。

您是否在主页底部看到类似的消息?你有什么phpMyAdmin版本? MySQL实例中是否有phpmyadmin数据库,如果是,它是否包含一个名为pma__table_uiprefs的表?

要停用此问题,请尝试修改config.inc.php并注释掉以$cfg['Servers'][$i]['pmadb']开头的行。您的表名可能会有所不同,但在您将其评论后,它应显示为// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; - 然后关闭浏览器并重试。这应该完全绕过整个phpMyAdmin配置存储系统。

答案 1 :(得分:0)

您可以通过重新配置phpmyadmin并提供root访问权限来更新phpmyadmin数据库和配置文件来解决此问题。

dpkg-reconfigure phpmyadmin

输出:

dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
Replacing config file /etc/phpmyadmin/config-db.php with new version
granting access to database phpmyadmin for phpmyadmin@localhost: already exists.
creating database phpmyadmin: already exists.
populating database via sql...  done.
dbconfig-common: flushing administrative password
apache2_invoke phpmyadmin: already enabled

答案 2 :(得分:-1)

但为什么phpmyadminpma__table_uiprefs

SELECT 'prefs' FROM  'pma__table_uiprefs' WHERE 'username' = 'jeff' AND 'db_name' = 'Cars' AND 'table_name' = 'INVENTORY';