~automne-team/automne/trunk

« back to all changes in this revision

Viewing changes to automne/phpMyAdmin/Documentation.txt

  • Committer: sebastien-pauchet
  • Date: 2012-02-15 16:47:40 UTC
  • mfrom: (363.2.105 4.2)
  • Revision ID: seb@automne-cms.org-20120215164740-xrk26iafkvztwv6s
Merge stable branch 4.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
phpMyAdmin 3.3.10 Documentation
 
1
phpMyAdmin 3.4.3.1 Documentation
2
2
 
3
3
  * Top
4
4
  * Requirements
11
11
  * Developers
12
12
  * Copyright
13
13
  * Credits
14
 
  * Translators
15
14
  * Glossary
16
15
 
17
16
  * phpMyAdmin homepage
24
23
Requirements
25
24
 
26
25
  * PHP
27
 
      + You need PHP 5.2.0 or newer, with session support (see FAQ 1.31) and
28
 
        the Standard PHP Library (SPL) extension.
 
26
      + You need PHP 5.2.0 or newer, with session support (see FAQ 1.31) , the
 
27
        Standard PHP Library (SPL) extension and JSON support.
29
28
      + To support uploading of ZIP files, you need the PHP zip extension.
30
29
      + For proper support of multibyte strings (eg. UTF-8, which is currently
31
 
        default), you should install mbstring and ctype extensions.
 
30
        the default), you should install the mbstring and ctype extensions.
32
31
      + You need GD2 support in PHP to display inline thumbnails of JPEGs
33
32
        ("image/jpeg: inline") with their original aspect ratio
34
33
      + When using the "cookie" authentication method, the mcrypt extension is
36
35
        Not using mcrypt will cause phpMyAdmin to load pages significantly
37
36
        slower.
38
37
      + To support upload progress bars, see FAQ 2.9.
 
38
      + To support BLOB streaming, see PHP and MySQL requirements in FAQ 6.25.
39
39
  * MySQL 5.0 or newer (details);
40
40
  * Web browser with cookies enabled.
41
41
 
48
48
 
49
49
Currently phpMyAdmin can:
50
50
 
51
 
  * browse and drop databases, tables, views, fields and indexes
52
 
  * create, copy, drop, rename and alter databases, tables, fields and indexes
 
51
  * browse and drop databases, tables, views, columns and indexes
 
52
  * create, copy, drop, rename and alter databases, tables, columns and indexes
53
53
  * maintenance server, databases and tables, with proposals on server
54
54
    configuration
55
55
  * execute, edit and bookmark any SQL-statement, even batch-queries
71
71
  * track changes on databases, tables and views
72
72
  * support InnoDB tables and foreign keys (see FAQ 3.6)
73
73
  * support mysqli, the improved MySQL extension (see FAQ 1.17)
74
 
  * communicate in 57 different languages
 
74
  * communicate in 62 different languages
75
75
  * synchronize two databases residing on the same as well as remote servers
76
76
    (see FAQ 9.1)
77
77
 
91
91
 
92
92
 1. Quick Install
93
93
 2. Setup script usage
94
 
 3. Linked-tables infrastructure
 
94
 3. phpMyAdmin configuration storage
95
95
 4. Upgrading from an older version
96
96
 5. Using authentication modes
97
97
 
214
214
    server configuration. You can find example .htaccess file which can help
215
215
    you achieve this in contrib directory in phpMyAdmin.
216
216
 
217
 
Linked-tables infrastructure
 
217
phpMyAdmin configuration storage
218
218
 
219
219
For a whole set of new features (bookmarks, comments, SQL-history, tracking
220
 
mechanism, PDF-generation, field contents transformation, etc.) you need to
 
220
mechanism, PDF-generation, column contents transformation, etc.) you need to
221
221
create a set of special tables. Those tables can be located in your own
222
222
database, or in a central database for a multi-user installation (this database
223
223
would then be accessed by the controluser, so no other user should have rights
228
228
FAQ 1.23).
229
229
 
230
230
If you already had this infrastructure and upgraded to MySQL 4.1.2 or newer,
231
 
please use ./scripts/upgrade_tables_mysql_4_1_2+.sql.
 
231
please use ./scripts/upgrade_tables_mysql_4_1_2+.sql and then create new tables
 
232
by importing ./scripts/create_tables.sql.
232
233
 
233
234
You can use your phpMyAdmin to create the tables for you. Please be aware that
234
235
you may need special (administrator) privileges to create the database and
255
256
the default configuration file is version-specific.
256
257
 
257
258
If you have upgraded your MySQL server from a version previous to 4.1.2 to
258
 
version 5.x or newer and if you use the pmadb/linked table infrastructure, you
 
259
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
259
260
should run the SQL script found in scripts/upgrade_tables_mysql_4_1_2+.sql.
260
261
 
261
262
Using authentication modes
309
310
 
310
311
    GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
311
312
 
312
 
    (this of course requires that your linked-tables infrastructure be set up).
 
313
    (this of course requires that your phpMyAdmin configuration storage be set
 
314
    up).
313
315
  * Then each of the true users should be granted a set of privileges on a set
314
316
    of particular databases. Normally you shouldn't give global privileges to
315
317
    an ordinary user, unless you understand the impact of those privileges (for
441
443
    Disable the default warning that is displayed if mcrypt is missing for
442
444
    cookie authentication. You can set this parameter to TRUE to stop this
443
445
    message from appearing.
 
446
$cfg['TranslationWarningThreshold'] integer
 
447
    Show warning about incomplete translations on certain threshold.
444
448
$cfg['AllowThirdPartyFraming'] boolean
445
449
    Setting this to true allows a page located on a different domain to call
446
450
    phpMyAdmin inside a frame, and is a potential security hole allowing
535
539
      + 'signon' authentication mode ($auth_type = 'signon') as introduced in
536
540
        2.10.0 allows you to log in from prepared PHP session data. This is
537
541
        useful for implementing single signon from another application. Sample
538
 
        way how to seed session is in signon example: scripts/signon.php. You
539
 
        need to configure session name and signon URL to use this
540
 
        authentication method.
 
542
        way how to seed session is in signon example: scripts/signon.php. There
 
543
        is also alternative example using OpenID - scripts/openid.php. You need
 
544
        to configure session name and signon URL to use this authentication
 
545
        method.
541
546
    Please see the install section on "Using authentication modes" for more
542
547
    information.
 
548
$cfg['Servers'][$i]['auth_http_realm'] string
 
549
    When using auth_type = 'HTTP', this field allows to define a custom HTTP
 
550
    Basic Auth Realm which will be displayed to the user. If not explicitly
 
551
    specified in your configuration, a string combined of "phpMyAdmin " and
 
552
    either $cfg['Servers'][$i]['verbose'] or $cfg['Servers'][$i]['host'] will
 
553
    be used.
543
554
$cfg['Servers'][$i]['auth_swekey_config'] string
544
555
    The name of the file containing Swekey ids and login names for hardware
545
556
    authentication. Leave empty to deactivate this feature.
579
590
    phpMyAdmin that it should display db3 and db4 on top, and the rest in
580
591
    alphabetic order.
581
592
$cfg['Servers'][$i]['hide_db'] string
582
 
    Regular expression for hiding some databases. This only hides them from
583
 
    listing, but a user is still able to access them (using, for example, the
584
 
    SQL query area). To limit access, use the MySQL privilege system.
 
593
    Regular expression for hiding some databases from unprivileged users. This
 
594
    only hides them from listing, but a user is still able to access them
 
595
    (using, for example, the SQL query area). To limit access, use the MySQL
 
596
    privilege system.
585
597
 
586
598
    For example, to hide all databases starting with the letter "a", use
587
599
 
600
612
    databases on your system, for example. For HTTP auth, all non-US-ASCII
601
613
    characters will be stripped.
602
614
$cfg['Servers'][$i]['pmadb'] string
603
 
    The name of the database containing the linked-tables infrastructure.
 
615
    The name of the database containing the phpMyAdmin configuration storage.
604
616
 
605
 
    See the Linked-tables infrastructure section in this document to see the
606
 
    benefits of this infrastructure, and for a quick way of creating this
607
 
    database and the needed tables.
 
617
    See the phpMyAdmin configuration storage section in this document to see
 
618
    the benefits of this feature, and for a quick way of creating this database
 
619
    and the needed tables.
608
620
 
609
621
    If you are the only user of this phpMyAdmin installation, you can use your
610
622
    current database to store those special tables; in this case, just put your
611
623
    current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user
612
624
    installation, set this parameter to the name of your central database
613
 
    containing the linked-tables infrastructure.
 
625
    containing the phpMyAdmin configuration storage.
614
626
$cfg['Servers'][$i]['bookmarktable'] string
615
627
    Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This can
616
628
    be useful for queries you often run.
617
629
 
618
630
    To allow the usage of this functionality:
619
 
      + set up pmadb and the linked-tables infrastructure
 
631
      + set up pmadb and the phpMyAdmin configuration storage
620
632
      + enter the table name in $cfg['Servers'][$i]['bookmarktable']
621
633
$cfg['Servers'][$i]['relation'] string
622
634
    Since release 2.2.4 you can describe, in a special 'relation' table, which
623
 
    field is a key in another table (a foreign key). phpMyAdmin currently uses
 
635
    column is a key in another table (a foreign key). phpMyAdmin currently uses
624
636
    this to
625
637
      + make clickable, when you browse the master table, the data values that
626
638
        point to the foreign table;
627
 
      + display in an optional tool-tip the "display field" when browsing the
 
639
      + display in an optional tool-tip the "display column" when browsing the
628
640
        master table, if you move the mouse to a column containing a foreign
629
641
        key (use also the 'table_info' table);
630
642
        (see FAQ 6.7)
631
643
      + in edit/insert mode, display a drop-down list of possible foreign keys
632
 
        (key value and "display field" are shown)
 
644
        (key value and "display column" are shown)
633
645
        (see FAQ 6.21)
634
646
      + display links on the table properties page, to check referential
635
647
        integrity (display missing foreign keys) for each described key;
639
651
    The keys can be numeric or character.
640
652
 
641
653
    To allow the usage of this functionality:
642
 
      + set up pmadb and the linked-tables infrastructure
 
654
      + set up pmadb and the phpMyAdmin configuration storage
643
655
      + put the relation table name in $cfg['Servers'][$i]['relation']
644
656
      + now as normal user open phpMyAdmin and for each one of your tables
645
657
        where you want to use this feature, click "Structure/Relation view/"
646
 
        and choose foreign fields.
 
658
        and choose foreign columns.
647
659
    Please note that in the current version, master_db must be the same as
648
 
    foreign_db. Those fields have been put in future development of the
 
660
    foreign_db. Those columns have been put in future development of the
649
661
    cross-db relations.
650
662
$cfg['Servers'][$i]['table_info'] string
651
663
    Since release 2.3.0 you can describe, in a special 'table_info' table,
652
 
    which field is to be displayed as a tool-tip when moving the cursor over
 
664
    which column is to be displayed as a tool-tip when moving the cursor over
653
665
    the corresponding key.
654
666
    This configuration variable will hold the name of this special table. To
655
667
    allow the usage of this functionality:
656
 
      + set up pmadb and the linked-tables infrastructure
 
668
      + set up pmadb and the phpMyAdmin configuration storage
657
669
      + put the table name in $cfg['Servers'][$i]['table_info'] (e.g.
658
670
        'pma_table_info')
659
671
      + then for each table where you want to use this feature, click
660
 
        "Structure/Relation view/Choose field to display" to choose the field.
661
 
    Usage tip: Display field.
 
672
        "Structure/Relation view/Choose column to display" to choose the
 
673
        column.
 
674
    Usage tip: Display column.
662
675
$cfg['Servers'][$i]['table_coords'] string
663
676
    $cfg['Servers'][$i]['pdf_pages'] string
664
677
    Since release 2.3.0 you can have phpMyAdmin create PDF pages showing the
670
683
    You must be using the "relation" feature.
671
684
 
672
685
    To allow the usage of this functionality:
673
 
      + set up pmadb and the linked-tables infrastructure
 
686
      + set up pmadb and the phpMyAdmin configuration storage
674
687
      + put the correct table names in $cfg['Servers'][$i]['table_coords'] and
675
688
        $cfg['Servers'][$i]['pdf_pages']
676
689
    Usage tips: PDF output.
687
700
    Also new in release 2.5.0 is a MIME-transformation system which is also
688
701
    based on the following table structure. See Transformations for further
689
702
    information. To use the MIME-transformation system, your column_info table
690
 
    has to have the three new fields 'mimetype', 'transformation',
 
703
    has to have the three new columns 'mimetype', 'transformation',
691
704
    'transformation_options'.
692
705
 
693
706
    To allow the usage of this functionality:
694
 
      + set up pmadb and the linked-tables infrastructure
 
707
      + set up pmadb and the phpMyAdmin configuration storage
695
708
      + put the table name in $cfg['Servers'][$i]['column_info'] (e.g.
696
709
        'pma_column_info')
697
710
      + to update your PRE-2.5.0 Column_comments Table use this:
718
731
    browser.
719
732
 
720
733
    To allow the usage of this functionality:
721
 
      + set up pmadb and the linked-tables infrastructure
 
734
      + set up pmadb and the phpMyAdmin configuration storage
722
735
      + put the table name in $cfg['Servers'][$i]['history'] (e.g.
723
736
        'pma_history')
724
737
$cfg['Servers'][$i]['tracking'] string
740
753
    (filtered) report to a file or to a temporary database.
741
754
 
742
755
    To allow the usage of this functionality:
743
 
      + set up pmadb and the linked-tables infrastructure
 
756
      + set up pmadb and the phpMyAdmin configuration storage
744
757
      + put the table name in $cfg['Servers'][$i]['tracking'] (e.g.
745
758
        'pma_tracking')
746
759
$cfg['Servers'][$i]['tracking_version_auto_create'] boolean
762
775
    CREATE VIEW,ALTER VIEW,DROP VIEW,
763
776
    CREATE DATABASE,ALTER DATABASE,DROP DATABASE
764
777
 
765
 
$cfg['Servers'][$i]['tracking_version_drop_view'] boolean
 
778
$cfg['Servers'][$i]['tracking_add_drop_view'] boolean
766
779
    Whether a DROP VIEW IF EXISTS statement will be added as first line to the
767
780
    log when creating a view. Default value is true.
768
781
 
769
 
$cfg['Servers'][$i]['tracking_version_drop_table'] boolean
 
782
$cfg['Servers'][$i]['tracking_add_drop_table'] boolean
770
783
    Whether a DROP TABLE IF EXISTS statement will be added as first line to the
771
784
    log when creating a table. Default value is true.
772
785
 
773
 
$cfg['Servers'][$i]['tracking_version_drop_database'] boolean
 
786
$cfg['Servers'][$i]['tracking_add_drop_database'] boolean
774
787
    Whether a DROP DATABASE IF EXISTS statement will be added as first line to
775
788
    the log when creating a database. Default value is true.
776
789
 
 
790
$cfg['Servers'][$i]['userconfig'] string
 
791
    Since release 3.4.x phpMyAdmin allows users to set most preferences by
 
792
    themselves and store them in the database.
 
793
 
 
794
    If you don't allow for storing preferences in pmadb, users can still
 
795
    personalize phpMyAdmin, but settings will be saved in browser's local
 
796
    storage, or, it is is unavailable, until the end of session.
 
797
 
 
798
    To allow the usage of this functionality:
 
799
      + set up pmadb and the phpMyAdmin configuration storage
 
800
      + put the table name in $cfg['Servers'][$i]['userconfig']
777
801
$cfg['Servers'][$i]['designer_coords'] string
778
802
    Since release 2.10.0 a Designer interface is available; it permits to
779
803
    visually manage the relations.
780
804
 
781
805
    To allow the usage of this functionality:
782
 
      + set up pmadb and the linked-tables infrastructure
 
806
      + set up pmadb and the phpMyAdmin configuration storage
783
807
      + put the table name in $cfg['Servers'][$i]['designer_coords'] (e.g.
784
808
        'pma_designer_coords')
785
809
$cfg['Servers'][$i]['verbose_check'] boolean
786
810
    Because release 2.5.0 introduced the new MIME-transformation support, the
787
 
    column_info table got enhanced with three new fields. If the above variable
788
 
    is set to TRUE (default) phpMyAdmin will check if you have the latest table
789
 
    structure available. If not, it will emit a warning to the superuser.
 
811
    column_info table got enhanced with three new columns. If the above
 
812
    variable is set to TRUE (default) phpMyAdmin will check if you have the
 
813
    latest table structure available. If not, it will emit a warning to the
 
814
    superuser.
790
815
 
791
816
    You can disable this checking behavior by setting the variable to false,
792
817
    which should offer a performance increase.
802
827
    with an empty password for root or on which an anonymous (blank) user is
803
828
    defined.
804
829
$cfg['Servers'][$i]['AllowDeny']['order'] string
805
 
    If your rule order is empty, then IP authentication is disabled.
 
830
    If your rule order is empty, then IP authorization is disabled.
806
831
 
807
832
    If your rule order is set to 'deny,allow' then the system applies all deny
808
833
    rules followed by allow rules. Access is allowed by default. Any client
814
839
    does not match an Allow directive or does match a Deny directive will be
815
840
    denied access to the server.
816
841
 
817
 
    If your rule order is set to 'explicit', the authentication is performed in
818
 
    a similar fashion to rule order 'deny,allow', with the added restriction
819
 
    that your host/username combination must be listed in the allow rules, and
820
 
    not listed in the deny rules. This is the most secure means of using Allow/
821
 
    Deny rules, and was available in Apache by specifying allow and deny rules
 
842
    If your rule order is set to 'explicit', authorization is performed in a
 
843
    similar fashion to rule order 'deny,allow', with the added restriction that
 
844
    your host/username combination must be listed in the allow rules, and not
 
845
    listed in the deny rules. This is the most secure means of using Allow/Deny
 
846
    rules, and was available in Apache by specifying allow and deny rules
822
847
    without setting any order.
823
848
 
824
849
    Please also see $cfg['TrustedProxies'] for detecting IP address behind
878
903
    logging in.
879
904
    If you have only one server configured, $cfg['ServerDefault'] MUST be set
880
905
    to that server.
 
906
$cfg['AjaxEnable'] boolean
 
907
    Defines whether to refresh only parts of certain pages using Ajax
 
908
    techniques. Applies only where a non-Ajax behavior is possible; for
 
909
    example, the Designer feature is Ajax-only so this directive does not apply
 
910
    to it.
 
911
$cfg['VersionCheck'] boolean
 
912
    Enables check for latest versions using javascript on main phpMyAdmin page.
881
913
$cfg['MaxDbList'] integer
882
914
    The maximum number of database names to be displayed in the navigation
883
915
    frame and the database list.
908
940
    zero, no time limit is imposed.
909
941
    This setting is used while importing/exporting dump files and in the
910
942
    Synchronize feature but has no effect when PHP is running in safe mode.
 
943
$cfg['SessionSavePath'] string
 
944
    Path for storing session data (session_save_path PHP parameter).
911
945
$cfg['MemoryLimit'] string [number of bytes]
912
946
    Set the number of bytes a script is allowed to allocate. If set to zero, no
913
947
    limit is imposed.
947
981
    session.gc_maxlifetime not lower than the value of $cfg
948
982
    ['LoginCookieValidity'].
949
983
$cfg['LoginCookieStore'] integer [number of seconds]
950
 
    Define how long is login cookie should be stored in browser. Default 0
951
 
    means that it will be kept for existing session. This is recommended for
952
 
    not trusted environments.
 
984
    Define how long login cookie should be stored in browser. Default 0 means
 
985
    that it will be kept for existing session. This is recommended for not
 
986
    trusted environments.
953
987
$cfg['LoginCookieDeleteAll'] boolean
954
988
    If enabled (default), logout deletes cookies for all servers, otherwise
955
989
    only for current one. Setting this to false makes it easy to forget to log
964
998
    multi-query statement embedded into the SQL output as inline comments.
965
999
    Defaults to TRUE.
966
1000
$cfg['AllowArbitraryServer'] boolean
967
 
    If enabled allows you to log in to arbitrary servers using cookie auth.
 
1001
    If enabled, allows you to log in to arbitrary servers using cookie auth and
 
1002
    permits to specify servers of your choice in the Synchronize dialog.
968
1003
 
969
1004
    NOTE: Please use this carefully, as this may allow users access to MySQL
970
1005
    servers behind the firewall where your HTTP server is placed.
1017
1052
$cfg['LeftLogoLinkWindow'] string
1018
1053
    Whether to open the linked page in the main window (main) or in a new one
1019
1054
    (new). Note: use new if you are linking to phpmyadmin.net.
 
1055
$cfg['LeftDisplayTableFilterMinimum'] integer
 
1056
    Defines the minimum number of tables to display a JavaScript filter box
 
1057
    above the list of tables in the left frame. Defaults to 30. To disable the
 
1058
    filter completely some high number can he used (e.g. 9999)
1020
1059
$cfg['LeftDisplayServers'] boolean
1021
1060
    Defines whether or not to display a server choice at the top of the left
1022
1061
    frame. Defaults to FALSE.
1071
1110
    Number of rows displayed when browsing a result set. If the result set
1072
1111
    contains more rows, "Previous" and "Next" links will be shown.
1073
1112
$cfg['Order'] string [DESC|ASC|SMART]
1074
 
    Defines whether fields are displayed in ascending (ASC) order, in
 
1113
    Defines whether columns are displayed in ascending (ASC) order, in
1075
1114
    descending (DESC) order or in a "smart" (SMART) order - I.E. descending
1076
 
    order for fields of type TIME, DATE, DATETIME and TIMESTAMP, ascending
 
1115
    order for columns of type TIME, DATE, DATETIME and TIMESTAMP, ascending
1077
1116
    order else- by default.
1078
1117
$cfg['DisplayBinaryAsHex'] boolean
1079
1118
    Defines whether the "Show binary contents as HEX" browse option is ticked
1080
1119
    by default.
1081
1120
$cfg['ProtectBinary'] boolean or string
1082
 
    Defines whether BLOB or BINARY fields are protected from editing when
 
1121
    Defines whether BLOB or BINARY columns are protected from editing when
1083
1122
    browsing a table's content. Valid values are:
1084
 
      + FALSE to allow editing of all fields;
1085
 
      + 'blob' to allow editing of all fields except BLOBS;
1086
 
      + 'all' to disallow editing of all BINARY or BLOB fields.
 
1123
      + FALSE to allow editing of all columns;
 
1124
      + 'blob' to allow editing of all columns except BLOBS;
 
1125
      + 'all' to disallow editing of all BINARY or BLOB columns.
1087
1126
$cfg['ShowFunctionFields'] boolean
1088
1127
    Defines whether or not MySQL functions fields should be initially displayed
1089
1128
    in edit/insert mode. Since version 2.10, the user can toggle this setting
1090
1129
    from the interface.
 
1130
$cfg['ShowFieldTypesInDataEditView'] boolean
 
1131
    Defines whether or not type fields should be initially displayed in edit/
 
1132
    insert mode. The user can toggle this setting from the interface.
1091
1133
$cfg['CharEditing'] string
1092
1134
    Defines which type of editing controls should be used for CHAR and VARCHAR
1093
 
    fields. Possible values are:
1094
 
      + input - this allows to limit size of text to size of field in MySQL,
1095
 
        but has problems with newlines in fields
1096
 
      + textarea - no problems with newlines in fields, but also no length
 
1135
    columns. Possible values are:
 
1136
      + input - this allows to limit size of text to size of columns in MySQL,
 
1137
        but has problems with newlines in columns
 
1138
      + textarea - no problems with newlines in columns, but also no length
1097
1139
        limitations
1098
1140
    Default is old behavior so input.
1099
1141
$cfg['InsertRows'] integer
1156
1198
$cfg['DefaultLang'] string
1157
1199
    Defines the default language to use, if not browser-defined or
1158
1200
    user-defined.
1159
 
    See the select_lang.lib.php script to know the valid values for this
1160
 
    setting.
 
1201
    The corresponding language file needs to be in locale/code/LC_MESSAGES/
 
1202
    phpmyadmin.mo.
1161
1203
$cfg['DefaultConnectionCollation'] string
1162
1204
    Defines the default connection collation to use, if not user-defined.
1163
1205
    See the MySQL documentation for list of possible values.
1164
1206
$cfg['Lang'] string
1165
 
    Force: always use this language (must be defined in the select_lang.lib.php
1166
 
    script).
 
1207
    Force language to use.
 
1208
    The corresponding language file needs to be in locale/code/LC_MESSAGES/
 
1209
    phpmyadmin.mo.
1167
1210
$cfg['FilterLanguages'] string
1168
1211
    Limit list of available languages to those matching the given regular
1169
1212
    expression. For example if you want only Czech and English, you should set
1170
1213
    filter to '^(cs|en)'.
1171
 
$cfg['DefaultCharset'] string
1172
 
    Default character set to use for recoding of MySQL queries. This must be
1173
 
    enabled and it's described by $cfg['AllowAnywhereRecoding'] option.
1174
 
    You can give here any character set which is in $cfg['AvailableCharsets']
1175
 
    array and this is just default choice, user can select any of them.
1176
 
$cfg['AllowAnywhereRecoding'] boolean
1177
 
    Allow character set recoding of MySQL queries. You need recode or iconv
1178
 
    support (compiled in or module) in PHP to allow MySQL queries recoding and
1179
 
    used language file must have it enabled (by default only these which are in
1180
 
    Unicode, just to avoid losing some characters).
1181
 
 
1182
 
    Setting this to TRUE also activates a pull-down menu in the Export and
1183
 
    Import pages, to choose the character set when exporting a file. The
1184
 
    default value in this menu comes from $cfg['Export']['charset'] and $cfg
1185
 
    ['Import']['charset'].
1186
1214
$cfg['RecodingEngine'] string
1187
1215
    You can select here which functions will be used for character set
1188
1216
    conversion. Possible values are:
1190
1218
        recode)
1191
1219
      + iconv - use iconv or libiconv functions
1192
1220
      + recode - use recode_string function
 
1221
      + none - disable encoding conversion
1193
1222
    Default is auto.
 
1223
    Enabled charset conversion activates a pull-down menu in the Export and
 
1224
    Import pages, to choose the character set when exporting a file. The
 
1225
    default value in this menu comes from $cfg['Export']['charset'] and $cfg
 
1226
    ['Import']['charset'].
1194
1227
$cfg['IconvExtraParams'] string
1195
1228
    Specify some parameters for iconv used in charset conversion. See iconv
1196
1229
    documentation for details. By default //TRANSLIT is used, so that invalid
1236
1269
    have problems with long URLs. Default is 1000.
1237
1270
$cfg['NaviWidth'] integer
1238
1271
    Navi frame width in pixels. See themes/themename/layout.inc.php.
1239
 
$cfg['NaviBackground'] string [valid css code for background]
1240
 
    $cfg['MainBackground'] string [valid css code for background]
 
1272
$cfg['NaviBackground'] string [CSS color for background]
 
1273
    $cfg['MainBackground'] string [CSS color for background]
1241
1274
    The background styles used for both the frames. See themes/themename/
1242
1275
    layout.inc.php.
1243
 
$cfg['NaviPointerBackground'] string [valid css code for background]
1244
 
    $cfg['NaviPointerColor'] string [valid css color]
 
1276
$cfg['NaviPointerBackground'] string [CSS color for background]
 
1277
    $cfg['NaviPointerColor'] string [CSS color]
1245
1278
    The style used for the pointer in the navi frame. See themes/themename/
1246
1279
    layout.inc.php.
1247
 
$cfg['NaviDatabaseNameColor'] string [valid css code]
1248
 
    The color used for the database name in the navi frame. See themes/
1249
 
    themename/layout.inc.php.
1250
1280
$cfg['LeftPointerEnable'] boolean
1251
1281
    A value of TRUE activates the navi pointer (when LeftFrameLight is FALSE).
1252
1282
$cfg['Border'] integer
1253
1283
    The size of a table's border. See themes/themename/layout.inc.php.
1254
 
$cfg['ThBackground'] string [valid css code for background]
1255
 
    $cfg['ThColor'] string [valid css color]
 
1284
$cfg['ThBackground'] string [CSS color for background]
 
1285
    $cfg['ThColor'] string [CSS color]
1256
1286
    The style used for table headers. See themes/themename/layout.inc.php.
1257
 
$cfg['BgOne'] string [HTML color]
 
1287
$cfg['BgOne'] string [CSS color]
1258
1288
    The color (HTML) #1 for table rows. See themes/themename/layout.inc.php.
1259
 
$cfg['BgTwo'] string [HTML color]
 
1289
$cfg['BgTwo'] string [CSS color]
1260
1290
    The color (HTML) #2 for table rows. See themes/themename/layout.inc.php.
1261
 
$cfg['BrowsePointerBackground'] string [HTML color]
1262
 
    $cfg['BrowsePointerColor'] string [HTML color]
1263
 
    $cfg['BrowseMarkerBackground'] string [HTML color]
1264
 
    $cfg['BrowseMarkerColor'] string [HTML color]
 
1291
$cfg['BrowsePointerBackground'] string [CSS color]
 
1292
    $cfg['BrowsePointerColor'] string [CSS color]
 
1293
    $cfg['BrowseMarkerBackground'] string [CSS color]
 
1294
    $cfg['BrowseMarkerColor'] string [CSS color]
1265
1295
    The colors (HTML) uses for the pointer and the marker in browse mode.
1266
1296
    The former feature highlights the row over which your mouse is passing and
1267
1297
    the latter lets you visually mark/unmark rows by clicking on them.
 
1298
    Highlighting / marking a column is done by hovering over / clicking the
 
1299
    column's header (outside of the text).
1268
1300
    See themes/themename/layout.inc.php.
1269
1301
$cfg['FontFamily'] string
1270
1302
    You put here a valid CSS font family value, for example arial, sans-serif.
1287
1319
    The Char* values are used for CHAR and VARCHAR editing (if configured via
1288
1320
    $cfg['CharEditing']).
1289
1321
$cfg['LongtextDoubleTextarea'] boolean
1290
 
    Defines whether textarea for LONGTEXT fields should have double size.
 
1322
    Defines whether textarea for LONGTEXT columns should have double size.
1291
1323
$cfg['TextareaAutoSelect'] boolean
1292
1324
    Defines if the whole textarea of the query box will be selected on click.
1293
 
$cfg['CtrlArrowsMoving'] boolean
1294
 
    Enable Ctrl+Arrows (Option+Arrows in Safari) moving between fields when
1295
 
    editing.
1296
1325
$cfg['LimitChars'] integer
1297
1326
    Maximum number of characters shown in any non-numeric field on browse view.
1298
1327
    Can be turned off by a toggle button on the browse page.
1299
1328
$cfg['ModifyDeleteAtLeft'] boolean $cfg['ModifyDeleteAtRight'] boolean
1300
 
    Defines the place where modify and delete links would be put when tables
1301
 
    contents are displayed (you may have them displayed both at the left and at
1302
 
    the right). "Left" and "right" are parsed as "top" and "bottom" with
1303
 
    vertical display mode.
1304
 
$cfg['DefaultDisplay'] string $cfg['HeaderFlipType'] string
 
1329
    Defines the place where table row links (Edit, Inline edit, Copy, Delete)
 
1330
    would be put when tables contents are displayed (you may have them
 
1331
    displayed both at the left and at the right). "Left" and "right" are parsed
 
1332
    as "top" and "bottom" with vertical display mode.
 
1333
$cfg['DefaultDisplay'] string
1305
1334
    There are 3 display modes: horizontal, horizontalflipped and vertical.
1306
1335
    Define which one is displayed by default. The first mode displays each row
1307
1336
    on a horizontal line, the second rotates the headers by 90 degrees, so you
1308
 
    can use descriptive headers even though fields only contain small values
 
1337
    can use descriptive headers even though columns only contain small values
1309
1338
    and still print them out. The vertical mode sorts each row on a vertical
1310
1339
    lineup.
1311
 
 
1312
 
    The HeaderFlipType can be set to 'css' or 'fake'. When using 'css' the
1313
 
    rotation of the header for horizontalflipped is done via CSS. If set to
1314
 
    'fake' PHP does the transformation for you, but of course this does not
1315
 
    look as good as CSS.
 
1340
$cfg['HeaderFlipType'] string
 
1341
    The HeaderFlipType can be set to 'auto', 'css' or 'fake'. When using 'css'
 
1342
    the rotation of the header for horizontalflipped is done via CSS. The CSS
 
1343
    transformation currently works only in Internet Explorer.If set to 'fake'
 
1344
    PHP does the transformation for you, but of course this does not look as
 
1345
    good as CSS. The 'auto' option enables CSS transformation when browser
 
1346
    supports it and use PHP based one otherwise.
1316
1347
$cfg['DefaultPropDisplay'] string or integer
1317
1348
    When editing/creating new columns in a table all fields normally get lined
1318
1349
    up one field a line. (default: 'horizontal'). If you set this to 'vertical'
1319
1350
    you can have each field lined up vertically beneath each other. You can
1320
1351
    save up a lot of place on the horizontal direction and no longer have to
1321
1352
    scroll. If you set this to integer, editing of fewer columns will appear in
1322
 
    'vertical' mode, while editing of more fields still in 'horizontal' mode.
1323
 
    This way you can still effectively edit large number of fields, while
 
1353
    'vertical' mode, while editing of more columns still in 'horizontal' mode.
 
1354
    This way you can still effectively edit large number of columns, while
1324
1355
    having full view on few of them.
1325
1356
$cfg['ShowBrowseComments'] boolean
1326
1357
    $cfg['ShowPropertyComments'] boolean
1327
1358
    By setting the corresponding variable to TRUE you can enable the display of
1328
1359
    column comments in Browse or Property display. In browse mode, the comments
1329
1360
    are shown inside the header. In property mode, comments are displayed using
1330
 
    a CSS-formatted dashed-line below the name of the field. The comment is
1331
 
    shown as a tool-tip for that field.
 
1361
    a CSS-formatted dashed-line below the name of the column. The comment is
 
1362
    shown as a tool-tip for that column.
1332
1363
$cfg['SQLQuery']['Edit'] boolean
1333
1364
    Whether to display an edit link to change a query in any SQL Query box.
1334
1365
$cfg['SQLQuery']['Explain'] boolean
1406
1437
    In this array are defined default parameters for export, names of items are
1407
1438
    similar to texts seen on export page, so you can easily identify what they
1408
1439
    mean.
 
1440
$cfg['Export']['method'] string
 
1441
    Defines how the export form is displayed when it loads. Valid values are:
 
1442
      + quick to display the minimum number of options to configure
 
1443
      + custom to display every available option to configure
 
1444
      + custom-no-form same as custom but does not display the option of using
 
1445
        quick export
1409
1446
$cfg['Import'] array
1410
1447
    In this array are defined default parameters for import, names of items are
1411
1448
    similar to texts seen on import page, so you can easily identify what they
1474
1511
    For VIEWs, since obtaining the exact count could have an impact on
1475
1512
    performance, this value is the maximum to be displayed, using a SELECT
1476
1513
    COUNT ... LIMIT. The default value of 0 bypasses any row counting.
1477
 
$cfg['WYSIWYG-PDF'] boolean
1478
 
    Utilizes a WYSIWYG editing control to easily place elements of a PDF page.
1479
 
    By clicking on the button 'toggle scratchboard' on the page where you edit
1480
 
    x/y coordinates of those elements you can activate a scratchboard where all
1481
 
    your elements are placed. By clicking on an element, you can move them
1482
 
    around in the pre-defined area and the x/y coordinates will get updated
1483
 
    dynamically. Likewise, when entering a new position directly into the input
1484
 
    field, the new position in the scratchboard changes after your cursor
1485
 
    leaves the input field.
1486
 
    You have to click on the 'OK'-button below the tables to save the new
1487
 
    positions. If you want to place a new element, first add it to the table of
1488
 
    elements and then you can drag the new element around.
1489
 
    By changing the paper size and the orientation you can change the size of
1490
 
    the scratchboard as well. You can do so by just changing the dropdown field
1491
 
    below, and the scratchboard will resize automatically, without interfering
1492
 
    with the current placement of the elements.
1493
 
    If ever an element gets out of range you can either enlarge the paper size
1494
 
    or click on the 'reset' button to place all elements below each other.
1495
 
    NOTE: You have to use a recent browser like IE6 or Mozilla to get this
1496
 
    control to work. The basic Drag&Drop script functionality was kindly
1497
 
    borrowed from www.youngpup.net and is underlying so specific license.
1498
1514
$cfg['NaturalOrder'] boolean
1499
1515
    Sorts database and table names according to natural order (for example, t1,
1500
1516
    t2, t10). Currently implemented in the left panel (Light mode) and in
1503
1519
    If set to 'closed', the visual sliders are initially in a closed state. A
1504
1520
    value of 'open' does the reverse. To completely disable all visual sliders,
1505
1521
    use 'disabled'.
 
1522
$cfg['UserprefsDisallow'] array
 
1523
    Contains names of configuration options (keys in $cfg array) that users
 
1524
    can't set through user preferences. For possible values, refer to libraries
 
1525
    /config/user_preferences.forms.php.
1506
1526
$cfg['TitleTable'] string
1507
1527
$cfg['TitleDatabase'] string
1508
1528
$cfg['TitleServer'] string
1509
1529
$cfg['TitleDefault'] string
1510
 
    Allows you to specify window's title bar. Following magic string can be
1511
 
    used to get special values:
1512
 
 
1513
 
    @HTTP_HOST@
1514
 
        HTTP host that runs phpMyAdmin
1515
 
    @SERVER@
1516
 
        MySQL server name
1517
 
    @VERBOSE@
1518
 
        Verbose MySQL server name as defined in server configuration
1519
 
    @VSERVER@
1520
 
        Verbose MySQL server name if set, otherwise normal
1521
 
    @DATABASE@
1522
 
        Currently opened database
1523
 
    @TABLE@
1524
 
        Currently opened table
1525
 
    @PHPMYADMIN@
1526
 
        phpMyAdmin with version
1527
 
 
 
1530
    Allows you to specify window's title bar. You can use format string
 
1531
    expansion.
1528
1532
$cfg['ErrorIconic'] boolean
1529
1533
    Uses icons for warnings, errors and informations.
1530
1534
$cfg['MainPageIconic'] boolean
1543
1547
$cfg['DefaultQueryTable'] string
1544
1548
    $cfg['DefaultQueryDatabase'] string
1545
1549
    Default queries that will be displayed in query boxes when user didn't
1546
 
    specify any. Use %d for database name, %t for table name and %f for a comma
1547
 
    separated list of field names. Note that %t and %f are only applicable to
1548
 
    $cfg['DefaultQueryTable'].
 
1550
    specify any. You can use standard format string expansion.
1549
1551
$cfg['SQP']['fmtType'] string [html|none]
1550
1552
    The main use of the new SQL Parser is to pretty-print SQL queries. By
1551
1553
    default we use HTML to format the query, but you can disable this by
1611
1613
    DEVELOPERS ONLY!
1612
1614
    Enable logging queries and execution times to be displayed in the bottom of
1613
1615
    main page (right frame).
1614
 
$cfg['DBG']['php'] boolean
1615
 
    DEVELOPERS ONLY!
1616
 
    Enable the DBG extension for debugging phpMyAdmin. Required for profiling
1617
 
    the code.
1618
 
    For help in setting up your system to this, see the Developers section.
1619
 
$cfg['DBG']['profile']['enable'] boolean
1620
 
    DEVELOPERS ONLY!
1621
 
    Enable profiling support for phpMyAdmin. This will append a chunk of data
1622
 
    to the end of every page displayed in the main window with profiling
1623
 
    statistics for that page.
1624
 
    You may need to increase the maximum execution time for this to complete
1625
 
    successfully.Profiling was removed from the code for version 2.9.0 due to
1626
 
    licensing issues.
1627
 
$cfg['DBG']['profile']['threshold'] float (units in milliseconds)
1628
 
    DEVELOPERS ONLY!
1629
 
    When profiling data is displayed, this variable controls the threshold of
1630
 
    display for any profiling data, based on the average time each time has
1631
 
    taken. If it is over the threshold it is displayed, otherwise it is not
1632
 
    displayed. This takes a value in milliseconds. In most cases you don't need
1633
 
    to edit this.
1634
1616
$cfg['ColumnTypes'] array
1635
1617
    All possible types of a MySQL column. In most cases you don't need to edit
1636
1618
    this.
1637
1619
$cfg['AttributeTypes'] array
1638
 
    Possible attributes for fields. In most cases you don't need to edit this.
 
1620
    Possible attributes for columns. In most cases you don't need to edit this.
1639
1621
$cfg['Functions'] array
1640
1622
    A list of functions MySQL supports. In most cases you don't need to edit
1641
1623
    this.
1650
1632
    defined for meta types from $cfg['RestrictColumnTypes'] and for
1651
1633
    first_timestamp, which is used for first timestamp column in table.
1652
1634
$cfg['NumOperators'] array
1653
 
    Operators available for search operations on numeric and date fields.
 
1635
    Operators available for search operations on numeric and date columns.
1654
1636
$cfg['TextOperators'] array
1655
 
    Operators available for search operations on character fields. Note that we
1656
 
    put LIKE by default instead of LIKE %...%, to avoid unintended performance
1657
 
    problems in case of huge tables.
 
1637
    Operators available for search operations on character columns. Note that
 
1638
    we put LIKE by default instead of LIKE %...%, to avoid unintended
 
1639
    performance problems in case of huge tables.
1658
1640
$cfg['EnumOperators'] array
1659
 
    Operators available for search operations on enum fields.
 
1641
    Operators available for search operations on ENUM columns.
1660
1642
$cfg['NullOperators'] array
1661
 
    Additional operators available for search operations when the field can be
 
1643
    Additional operators available for search operations when the column can be
1662
1644
    null.
1663
1645
 
1664
1646
Transformations
1672
1654
To enable transformations, you have to setup the column_info table and the
1673
1655
proper directives. Please see the Configuration section on how to do so.
1674
1656
 
1675
 
You can apply different transformations to the contents of each field. The
1676
 
transformation will take the content of each field and transform it with
 
1657
You can apply different transformations to the contents of each column. The
 
1658
transformation will take the content of each column and transform it with
1677
1659
certain rules defined in the selected transformation.
1678
1660
 
1679
 
Say you have a field 'filename' which contains a filename. Normally you would
 
1661
Say you have a column 'filename' which contains a filename. Normally you would
1680
1662
see in phpMyAdmin only this filename. Using transformations you can transform
1681
1663
that filename into a HTML link, so you can click inside of the phpMyAdmin
1682
 
structure on the field's link and will see the file displayed in a new browser
 
1664
structure on the column's link and will see the file displayed in a new browser
1683
1665
window. Using transformation options you can also specify strings to append/
1684
1666
prepend to a string or the format you want the output stored in.
1685
1667
 
1739
1721
 
1740
1722
Because the user cannot enter own mimetypes, it is kept sure that
1741
1723
transformations always work. It makes no sense to apply a transformation to a
1742
 
mimetype, the transform-function doesn't know to handle.
 
1724
mimetype the transform-function doesn't know to handle.
1743
1725
 
1744
1726
One can, however, use empty mime-types and global transformations which should
1745
1727
work for many mimetypes. You can also use transforms on a different mimetype
1746
 
they where built for, but pay attention to option usage as well as what the
1747
 
transformation does to your field.
 
1728
than what they where built for, but pay attention to option usage as well as
 
1729
what the transformation does to your column.
1748
1730
 
1749
1731
There is a basic file called 'global.inc.php'. This function can be included by
1750
1732
any other transform function and provides some basic functions.
1828
1810
 
1829
1811
Please see the libraries/transformations/TEMPLATE file for adding your own
1830
1812
transform function. See the libraries/transformations/TEMPLATE_MIMETYPE for
1831
 
adding a mimetype without a transform function. Also note the introduction of a
1832
 
function description in the language files. For each function a
1833
 
$strTransformation_[filename without .inc.php] has to exist.
1834
 
 
1835
 
You can use the template generator to generate new functions and entries in the
1836
 
language file.
 
1813
adding a mimetype without a transform function.
1837
1814
 
1838
1815
To create a new transform function please see libraries/transformations/
1839
1816
template_generator.sh. To create a new, empty mimetype please see libraries/
1845
1822
    want to transform.
1846
1823
 2. $options - Contains any user-passed options to a transform function as an
1847
1824
    array.
1848
 
 3. $meta - Contains an object with field information to your column. The data
1849
 
    is drawn from the output of the mysql_fetch_field() function. This means,
1850
 
    all object properties described on the manual page are available in this
1851
 
    variable and can be used to transform a field accordingly to unsigned/
 
1825
 3. $meta - Contains an object with information about your column. The data is
 
1826
    drawn from the output of the mysql_fetch_field() function. This means, all
 
1827
    object properties described on the manual page are available in this
 
1828
    variable and can be used to transform a column accordingly to unsigned/
1852
1829
    zerofill/not_null/... properties.
1853
 
    The $meta->mimetype variable contains the original MIME-type of the field
 
1830
    The $meta->mimetype variable contains the original MIME-type of the column
1854
1831
    (i.e. 'text/plain', 'image/jpeg' etc.)
1855
1832
 
 
1833
Additionally you should also provide additional function to provide information
 
1834
about the transformation to the user. This function should have same name as
 
1835
transformation function just with appended _info suffix. This function accepts
 
1836
no parameters and returns array with information about the transformation.
 
1837
Currently following keys can be used:
 
1838
 
 
1839
info
 
1840
    Long description of the transformation.
 
1841
 
1856
1842
FAQ - Frequently Asked Questions
1857
1843
 
1858
1844
 1. Server
1895
1881
look at the last message in this bug report from the official PHP bug database.
1896
1882
 
1897
1883
1.5 Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages with
1898
 
the HTTP or advanced authentication mode.
 
1884
the HTTP.
1899
1885
 
1900
1886
This is a known problem with the PHP ISAPI filter: it's not so stable. Please
1901
1887
use instead the cookie authentication mode.
1928
1914
  * put upload_tmp_dir = /tmp/php in php.ini
1929
1915
  * restart Apache
1930
1916
 
1931
 
1.9 I'm having troubles when uploading files. In general file uploads don't
1932
 
work on my system and uploaded files have a Content-Type: header in the first
1933
 
line.
1934
 
 
1935
 
It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat 7.0 and
1936
 
you updated your PHP RPM to php-4.0.4pl1-3.i386.rpm, didn't you?
1937
 
So the problem is that this package has a serious bug that was corrected ages
1938
 
ago in PHP (2001-01-28: see PHP's bug tracking system for more details). The
1939
 
problem is that the bugged package is still available though it was corrected
1940
 
(see RedHat's BugZilla for more details).
1941
 
So please download the fixed package (4.0.4pl1-9) and the problem should go
1942
 
away.
1943
 
And that fixes the \r\n problem with file uploads!
 
1917
1.9 (withdrawn).
1944
1918
 
1945
1919
1.10 I'm having troubles when uploading files with phpMyAdmin running on a
1946
1920
secure server. My browser is Internet Explorer and I'm using the Apache server.
1964
1938
 
1965
1939
The MySQL manual explains how to reset the permissions.
1966
1940
 
1967
 
1.13 I get an error 'No SQL query' when trying to execute a bookmark.
1968
 
 
1969
 
If PHP does not have read/write access to its upload_tmp_dir, it cannot access
1970
 
the uploaded query.
1971
 
 
1972
 
1.14 I get an error 'No SQL query' when trying to submit a query from the
1973
 
convenient text area.
1974
 
 
1975
 
Check the post_max_size directive from your PHP configuration file and try to
1976
 
increase it.
1977
 
 
1978
 
1.15 I have problems with mysql.user field names.
1979
 
 
1980
 
In previous MySQL versions, the User and Password fields were named user and
1981
 
password. Please modify your field names to align with current standards.
 
1941
1.13 (withdrawn).
 
1942
 
 
1943
1.14 (withdrawn).
 
1944
 
 
1945
1.15 I have problems with mysql.user column names.
 
1946
 
 
1947
In previous MySQL versions, the User and Passwordcolumns were named user and
 
1948
password. Please modify your column names to align with current standards.
1982
1949
 
1983
1950
1.16 I cannot upload big dump files (memory, HTTP or timeout problems).
1984
1951
 
2012
1979
MySQL versions, you need to use the latest 2.x branch. phpMyAdmin can connect
2013
1980
to your MySQL server using PHP's classic MySQL extension as well as the
2014
1981
improved MySQL extension (MySQLi) that is available in php 5.0. The latter one
2015
 
should be used unless you have good reason not to do so.
2016
 
When compiling php, we strongly recommend that you manually link the MySQL
 
1982
should be used unless you have a good reason not to do so.
 
1983
When compiling PHP, we strongly recommend that you manually link the MySQL
2017
1984
extension of your choice to a MySQL client library of at least the same minor
2018
1985
version since the one that is bundled with some PHP distributions is rather old
2019
1986
and might cause problems (see FAQ 1.17a).
2020
1987
 
 
1988
MariaDB is also supported (versions 5.1 and 5.2 were tested).
 
1989
 
2021
1990
1.17a I cannot connect to the MySQL server. It always returns the error
2022
1991
message, "Client does not support authentication protocol requested by server;
2023
1992
consider upgrading MySQL client"
2065
2034
to "on".
2066
2035
 
2067
2036
1.23 I'm running MySQL on a Win32 machine. Each time I create a new table the
2068
 
table and field names are changed to lowercase!
 
2037
table and column names are changed to lowercase!
2069
2038
 
2070
2039
This happens because the MySQL directive lower_case_table_names defaults to 1
2071
2040
(ON) in the Win32 version of MySQL. You can change this behavior by simply
2117
2086
turn it on again. Alternatively, there's a bug-fix available starting with
2118
2087
MySQL 3.23.56 / 4.0.11-gamma.
2119
2088
 
2120
 
1.29 When I create a table or modify a field, I get an error and the fields are
2121
 
duplicated.
 
2089
1.29 When I create a table or modify a column, I get an error and the columns
 
2090
are duplicated.
2122
2091
 
2123
2092
It is possible to configure Apache in such a way that PHP has problems
2124
2093
interpreting .php files.
2149
2118
1.31 Does phpMyAdmin support php5?
2150
2119
 
2151
2120
Yes.
2152
 
However, phpMyAdmin needs to be backwards compatible to php4. This is why
2153
 
phpMyAdmin disables the E_STRICT error_level in error_reporting settings.
 
2121
 
 
2122
Since release 3.0 only PHP 5.2 and newer. For older PHP versions 2.9 branch is
 
2123
still maintained.
2154
2124
 
2155
2125
1.32 Can I use HTTP authentication with IIS?
2156
2126
 
2221
2191
 
2222
2192
Suhosin configuration might lead to malfunction in some cases and it can not be
2223
2193
fully avoided as phpMyAdmin is kind of application which needs to transfer big
2224
 
amounts of fields in single HTTP request, what is something what Suhosin tries
 
2194
amounts of columns in single HTTP request, what is something what Suhosin tries
2225
2195
to prevent. Generally all suhosin.request.*, suhosin.post.* and suhosin.get.*
2226
2196
directives can have negative effect on phpMyAdmin usability. You can always
2227
2197
find in your error logs which limit did cause dropping of variable, so you can
2353
2323
port-forwarding to another host, MySQL is not resolving the localhost as
2354
2324
expected.
2355
2325
Erik Wasser explains: The solution is: if your host is "localhost" MySQL (the
2356
 
commandline tool 'mysql' as well) always tries to use the socket connection for
 
2326
command line tool mysql as well) always tries to use the socket connection for
2357
2327
speeding up things. And that doesn't work in this configuration with port
2358
2328
forwarding.
2359
2329
If you enter "127.0.0.1" as hostname, everything is right and MySQL uses the
2476
2446
3.6 What is currently not supported in phpMyAdmin about InnoDB?
2477
2447
 
2478
2448
In Relation view, being able to choose a table in another database, or having
2479
 
more than one index field in the foreign key.
 
2449
more than one index column in the foreign key.
2480
2450
 
2481
2451
In Query-by-example (Query), automatic generation of the query LEFT JOIN from
2482
2452
the foreign table.
2483
2453
 
2484
2454
 
2485
 
3.7 I have table with many (100+) fields and when I try to browse table I get
 
2455
3.7 I have table with many (100+) columns and when I try to browse table I get
2486
2456
series of errors like "Warning: unable to parse url". How can this be fixed?
2487
2457
 
2488
2458
Your table neither have a primary key nor an unique one, so we must use a long
2489
2459
expression to identify this row. This causes problems to parse_url function.
2490
2460
The workaround is to create a primary or unique key.
2491
2461
 
2492
 
3.8 I cannot use (clickable) HTML-forms in fields where I put a
 
2462
3.8 I cannot use (clickable) HTML-forms in columns where I put a
2493
2463
MIME-Transformation onto!
2494
2464
 
2495
2465
Due to a surrounding form-container (for multi-row delete checkboxes), no
2526
2496
['MaxExactCount'] for a way to modify those results, but this could have a
2527
2497
serious impact on performance.
2528
2498
 
2529
 
3.12 What are the phpMyAdmin limitations for MySQL 3?
2530
 
 
2531
 
The number of records in queries containing COUNT and GROUP BY is not correctly
2532
 
calculated. Also, sorting results of a query like "SELECT * from table GROUP
2533
 
BY" ... is problematic.
 
2499
3.12 (withdrawn).
2534
2500
 
2535
2501
3.13 I get an error when entering USE followed by a db name containing an
2536
2502
hyphen.
2537
2503
 
2538
 
The tests I have made with current MySQL 4.1.11 API shows that the API does not
2539
 
accept this syntax for the USE command. Enclosing the db name with backquotes
2540
 
works. For further confusion, no backquotes are needed with command-line mysql.
 
2504
The tests I have made with MySQL 5.1.49 shows that the API does not accept this
 
2505
syntax for the USE command.
2541
2506
 
2542
2507
3.14 I am not able to browse a table when I don't have the right to SELECT one
2543
2508
of the columns.
2679
2644
Browsers or client OS
2680
2645
 
2681
2646
5.1 I get an out of memory error, and my controls are non-functional, when
2682
 
trying to create a table with more than 14 fields.
 
2647
trying to create a table with more than 14 columns.
2683
2648
 
2684
2649
We could reproduce this problem only under Win98/98SE. Testing under WinNT4 or
2685
 
Win2K, we could easily create more than 60 fields.
2686
 
A workaround is to create a smaller number of fields, then come back to your
2687
 
table properties and add the other fields.
 
2650
Win2K, we could easily create more than 60 columns.
 
2651
A workaround is to create a smaller number of columns, then come back to your
 
2652
table properties and add the other columns.
2688
2653
 
2689
2654
5.2 With Xitami 2.5b4, phpMyAdmin won't process form fields.
2690
2655
 
2713
2678
Upgrade to at least Internet Explorer 5.5 SP2.
2714
2679
 
2715
2680
5.6 In Internet Explorer 5.0, 5.5 or 6.0, I get an error (like "Page not
2716
 
found") when trying to modify a row in a table with many fields, or with a text
2717
 
field
 
2681
found") when trying to modify a row in a table with many columns, or with a
 
2682
text column
2718
2683
 
2719
2684
Your table neither have a primary key nor an unique one, so we must use a long
2720
2685
URL to identify this row. There is a limit on the length of the URL in those
2804
2769
brings up a SQL-error.
2805
2770
 
2806
2771
Examine the SQL error with care. Often the problem is caused by specifying a
2807
 
wrong field-type.
 
2772
wrong column-type.
2808
2773
Common errors include:
2809
2774
 
2810
2775
  * Using VARCHAR without a size argument
2813
2778
Also, look at the syntax chapter in the MySQL manual to confirm that your
2814
2779
syntax is correct.
2815
2780
 
2816
 
6.2 When I create a table, I set an index for two fields and phpMyAdmin
2817
 
generates only one index with those two fields.
 
2781
6.2 When I create a table, I set an index for two columns and phpMyAdmin
 
2782
generates only one index with those two columns.
2818
2783
 
2819
 
This is the way to create a multi-fields index. If you want two indexes, create
2820
 
the first one when creating the table, save, then display the table properties
2821
 
and click the Index link to create the other index.
 
2784
This is the way to create a multi-columns index. If you want two indexes,
 
2785
create the first one when creating the table, save, then display the table
 
2786
properties and click the Index link to create the other index.
2822
2787
 
2823
2788
6.3 How can I insert a null value into my table?
2824
2789
 
2825
 
Since version 2.2.3, you have a checkbox for each field that can be null.
2826
 
Before 2.2.3, you had to enter "null", without the quotes, as the field's
 
2790
Since version 2.2.3, you have a checkbox for each column that can be null.
 
2791
Before 2.2.3, you had to enter "null", without the quotes, as the column's
2827
2792
value. Since version 2.5.5, you have to use the checkbox to get a real NULL
2828
 
value, so if you enter "NULL" this means you want a literal NULL in the field,
 
2793
value, so if you enter "NULL" this means you want a literal NULL in the column,
2829
2794
and not a NULL value (this works in PHP4).
2830
2795
 
2831
2796
6.4 How can I backup my database or table?
2897
2862
  * in Links, for "town_code" choose "REL_towns->code"
2898
2863
  * in Links, for "country_code" choose "REL_countries->country_code"
2899
2864
  * on table "REL_towns" click Structure, then Relation view
2900
 
  * in "Choose field to display", choose "description"
 
2865
  * in "Choose column to display", choose "description"
2901
2866
  * repeat the two previous steps for table "REL_countries"
2902
2867
 
2903
2868
Then test like this:
2906
2871
  * Choose "Query"
2907
2872
  * Use tables: persons, towns, countries
2908
2873
  * Click "Update query"
2909
 
  * In the fields row, choose persons.person_name and click the "Show" tickbox
 
2874
  * In the columns row, choose persons.person_name and click the "Show" tickbox
2910
2875
  * Do the same for towns.description and countries.descriptions in the other 2
2911
2876
    columns
2912
2877
  * Click "Update query" and you will see in the query box that the correct
2913
2878
    joins have been generated
2914
2879
  * Click "Submit query"
2915
2880
 
2916
 
6.7 How can I use the "display field" feature?
 
2881
6.7 How can I use the "display column" feature?
2917
2882
 
2918
2883
Starting from the previous example, create the pma_table_info as explained in
2919
2884
the configuration section, then browse your persons table, and move the mouse
2920
2885
over a town code or country code.
2921
2886
 
2922
 
See also FAQ 6.21 for an additional feature that "display field" enables:
 
2887
See also FAQ 6.21 for an additional feature that "display column" enables:
2923
2888
drop-down list of possible values.
2924
2889
 
2925
2890
6.8 How can I produce a PDF schema of my database?
2982
2947
    structure.
2983
2948
  * "Add AUTO_INCREMENT value" ensures that AUTO_INCREMENT value (if any) will
2984
2949
    be included in backup.
2985
 
  * "Enclose table and field names with backquotes" ensures that field and
 
2950
  * "Enclose table and column names with backquotes" ensures that column and
2986
2951
    table names formed with special characters are protected.
2987
2952
  * "Add into comments" includes column comments, relations, and MIME types set
2988
2953
    in the pmadb in the dump as SQL comments (/* xxx */).
3007
2972
 
3008
2973
6.14 How do I set up the SQL Validator?
3009
2974
 
3010
 
To use it, you need a very recent version of PHP, 4.3.0 recommended, with XML,
3011
 
PCRE and PEAR support. On your system command line, run "pear install
3012
 
Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary
3013
 
PEAR modules for usage.
3014
 
On a more recent pear version, I had problems with the state of Net_DIME being
3015
 
beta, so this single command "pear -d preferred_state=beta install -a SOAP"
3016
 
installed all the needed modules.
 
2975
To use SQL Validator, you need PHP with XML, PCRE and PEAR support. In addition
 
2976
you need a SOAP support, either as a PHP extension or as a PEAR SOAP module.
 
2977
 
 
2978
To install PEAR SOAP module, run "pear install Net_Socket Net_URL HTTP_Request
 
2979
Mail_Mime Net_DIME SOAP" to get the necessary PEAR modules for usage.
 
2980
 
3017
2981
If you use the Validator, you should be aware that any SQL statement you submit
3018
2982
will be stored anonymously (database/table/column names, strings, numbers
3019
2983
replaced with generic values). The Mimer SQL Validator itself, is ? 2001
3020
2984
Upright Database Technology. We utilize it as free SOAP service.
3021
2985
 
3022
 
6.15 I want to add a BLOB field and put an index on it, but MySQL says "BLOB
 
2986
6.15 I want to add a BLOB column and put an index on it, but MySQL says "BLOB
3023
2987
column '...' used in key specification without a key length".
3024
2988
 
3025
 
The right way to do this, is to create the field without any indexes, then
 
2989
The right way to do this, is to create the column without any indexes, then
3026
2990
display the table structure and use the "Create an index" dialog. On this page,
3027
 
you will be able to choose your BLOB field, and set a size to the index, which
3028
 
is the condition to create an index on a BLOB field.
 
2991
you will be able to choose your BLOB column, and set a size to the index, which
 
2992
is the condition to create an index on a BLOB column.
3029
2993
 
3030
2994
6.16 How can I simply move in page with plenty editing fields?
3031
2995
 
3032
2996
You can use Ctrl+arrows (Option+Arrows in Safari) for moving on most pages with
3033
 
many editing fields (table structure changes, row editing, etc.) (must be
3034
 
enabled in configuration - see. $cfg['CtrlArrowsMoving']). You can also have a
3035
 
look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if this
3036
 
eases up editing for you.
 
2997
many editing fields (table structure changes, row editing, etc.). You can also
 
2998
have a look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if
 
2999
this eases up editing for you.
3037
3000
 
3038
3001
6.17 Transformations: I can't enter my own mimetype! WTF is this feature then
3039
3002
useful for?
3040
3003
 
3041
3004
Slow down :). Defining mimetypes is of no use, if you can't put transformations
3042
 
on them. Otherwise you could just put a comment on the field. Because entering
 
3005
on them. Otherwise you could just put a comment on the column. Because entering
3043
3006
your own mimetype will cause serious syntax checking issues and validation,
3044
3007
this introduces a high-risk false-user-input situation. Instead you have to
3045
3008
initialize mimetypes using functions or empty mimetype definitions.
3084
3047
 
3085
3048
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'
3086
3049
 
3087
 
You can use multiple occurrences of /*[VARIABLE]*/ in a single query.
 
3050
You can use multiple occurrences of /*[VARIABLE]*/ in a single query (that is,
 
3051
multiple occurrences of the same variable).
3088
3052
NOTE THE ABSENCE OF SPACES inside the "/**/" construct. Any spaces inserted
3089
3053
there will be later also inserted as spaces in your query and may lead to
3090
3054
unexpected results especially when using the variable expansion inside of a
3114
3078
So if your users do not need those privileges, you can remove them and their
3115
3079
databases list will shorten.
3116
3080
 
3117
 
6.21 In edit/insert mode, how can I see a list of possible values for a field,
 
3081
6.21 In edit/insert mode, how can I see a list of possible values for a column,
3118
3082
based on some foreign table?
3119
3083
 
3120
3084
You have to setup appropriate links between the tables, and also setup the
3121
 
"display field" in the foreign table. See FAQ 6.6 for an example. Then, if
 
3085
"display column" in the foreign table. See FAQ 6.6 for an example. Then, if
3122
3086
there are 100 values or less in the foreign table, a drop-down list of values
3123
3087
will be available. You will see two lists of values, the first list containing
3124
 
the key and the display field, the second list containing the display field and
3125
 
the key. The reason for this is to be able to type the first letter of either
3126
 
the key or the display field.
 
3088
the key and the display column, the second list containing the display column
 
3089
and the key. The reason for this is to be able to type the first letter of
 
3090
either the key or the display column.
3127
3091
 
3128
3092
For 100 values or more, a distinct window will appear, to browse foreign key
3129
3093
values and choose one. To change the default limit of 100, see $cfg
3156
3120
 
3157
3121
6.25 How does BLOB streaming work in phpMyAdmin?
3158
3122
 
3159
 
First, for general information about BLOB streaming on MySQL, visit
3160
 
blobstreaming.org. We currently support streaming if you are running MySQL 5.1
3161
 
with the PBXT and PBMS storage engines. Moreover, only PBMS 0.5.04 is
3162
 
supported.
 
3123
For general information about BLOB streaming on MySQL, visit blobstreaming.org.
 
3124
You need the following components:
 
3125
 
 
3126
  * PBMS BLOB Streaming Daemon for MySQL (0.5.15 or later)
 
3127
  * Streaming enabled PBXT Storage engine for MySQL (1.0.11-6 or later)
 
3128
  * PBMS Client Library for MySQL (0.5.15 or later)
 
3129
  * PBMS PHP Extension for MySQL (0.1.1 or later)
 
3130
 
 
3131
Here are details about configuration and operation:
3163
3132
 
3164
3133
 1. In config.inc.php your host should be defined with a FQDN (fully qualified
3165
 
    domain name) instead of something like "localhost".
3166
 
 2. A current limitation is that your first login via phpMyAdmin to a
3167
 
    freshly-started server must be done with an account that has the SUPER
3168
 
    privilege.
3169
 
 3. On your target database, go to Operations and in the "BLOB Repository"
3170
 
    section, click "Enable". This creates the PBMS system tables inside your
3171
 
    database.
3172
 
 4. Ensure that your target table is under the PBXT storage engine and has a
3173
 
    LONGBLOB column.
3174
 
 5. When you insert or update a row in this table, put a checkmark on the
 
3134
    domain name) instead of "localhost".
 
3135
 2. Ensure that your target table is under the PBXT storage engine and has a
 
3136
    LONGBLOB column (which must be nullable if you want to remove the BLOB
 
3137
    reference from it).
 
3138
 3. When you insert or update a row in this table, put a checkmark on the
3175
3139
    "Upload to BLOB repository" optional choice; otherwise, the upload will be
3176
 
    done directly in your column instead of the repository.
3177
 
 6. Finally when you browse your table, you'll see in your column a link to
 
3140
    done directly in your LONGBLOB column instead of the repository.
 
3141
 4. Finally when you browse your table, you'll see in your column a link to
3178
3142
    stream your data, for example "View image". A header containing the correct
3179
3143
    MIME-type will be sent to your browser; this MIME-type was stored at upload
3180
 
    time but in case it's incorrect, it's possible to edit it by clicking on
3181
 
    the displayed MIME-type.
 
3144
    time.
3182
3145
 
3183
3146
6.26 How can I select a range of rows?
3184
3147
 
3186
3149
the range. This works everywhere you see rows, for example in Browse mode or on
3187
3150
the Structure page.
3188
3151
 
 
3152
6.27 What format strings can I use?
 
3153
 
 
3154
In all places where phpMyAdmin accepts format strings, you can use @VARIABLE@
 
3155
expansion and strftime format strings. The expanded variables depend on a
 
3156
context (for example, if you haven't chosen a table, you can not get the table
 
3157
name), but the following variables can be used:
 
3158
 
 
3159
@HTTP_HOST@
 
3160
    HTTP host that runs phpMyAdmin
 
3161
@SERVER@
 
3162
    MySQL server name
 
3163
@VERBOSE@
 
3164
    Verbose MySQL server name as defined in server configuration
 
3165
@VSERVER@
 
3166
    Verbose MySQL server name if set, otherwise normal
 
3167
@DATABASE@
 
3168
    Currently opened database
 
3169
@TABLE@
 
3170
    Currently opened table
 
3171
@FIELDS@
 
3172
    Fields of currently opened table
 
3173
@PHPMYADMIN@
 
3174
    phpMyAdmin with version
 
3175
 
 
3176
6.28 How can I easily edit relational schema for export?
 
3177
 
 
3178
By clicking on the button 'toggle scratchboard' on the page where you edit x/y
 
3179
coordinates of those elements you can activate a scratchboard where all your
 
3180
elements are placed. By clicking on an element, you can move them around in the
 
3181
pre-defined area and the x/y coordinates will get updated dynamically.
 
3182
Likewise, when entering a new position directly into the input field, the new
 
3183
position in the scratchboard changes after your cursor leaves the input field.
 
3184
 
 
3185
You have to click on the 'OK'-button below the tables to save the new
 
3186
positions. If you want to place a new element, first add it to the table of
 
3187
elements and then you can drag the new element around.
 
3188
 
 
3189
By changing the paper size and the orientation you can change the size of the
 
3190
scratchboard as well. You can do so by just changing the dropdown field below,
 
3191
and the scratchboard will resize automatically, without interfering with the
 
3192
current placement of the elements.
 
3193
 
 
3194
If ever an element gets out of range you can either enlarge the paper size or
 
3195
click on the 'reset' button to place all elements below each other.
 
3196
 
 
3197
6.29 Why can't I get a chart from my query result table?
 
3198
 
 
3199
Not every table can be put to the chart. Only tables with one, two or three
 
3200
columns can be visualised as a chart. Moreover the table must be in a special
 
3201
format for chart script to understand it. Currently supported formats can be
 
3202
found in the wiki.
 
3203
 
3189
3204
phpMyAdmin project
3190
3205
 
3191
3206
7.1 I have found a bug. How do I inform developers?
3194
3209
section.
3195
3210
 
3196
3211
But please first discuss your bug with other users:
3197
 
http://sf.net/projects/phpmyadmin/ (and choose Forums)
 
3212
https://sourceforge.net/projects/phpmyadmin/forums.
3198
3213
 
3199
3214
7.2 I want to translate the messages to a new language or upgrade an existing
3200
3215
language, where do I start?
3201
3216
 
3202
 
Always use the current SVN version of your language file. For a new language,
3203
 
start from english-utf-8.inc.php. If you don't know how to get the SVN version,
3204
 
please ask one of the developers.
 
3217
Always use latest Git version of the po file to translate. You can optionally
 
3218
translate online at our translation server where you can also get the latest po
 
3219
files and merge them with your translations. For creating a new translation
 
3220
simply use po/phpmyadmin.pot and generate po/LANG_CODE.po for your language
 
3221
(you can use msginit -i po/phpmyadmin.pot -l LANG_CODE --no-translator -o po/
 
3222
LANG_CODE.po to do this) or ask on the mailing list to add the translation to
 
3223
the web interface. More details are available on our wiki.
 
3224
 
3205
3225
Please note that we try not to use HTML entities like &eacute; in the
3206
3226
translations, since we define the right character set in the file. With HTML
3207
3227
entities, the text on JavaScript messages would not display correctly. However
3208
 
there are some entities that need to be there, for quotes ,non-breakable
3209
 
spaces, ampersands, less than, greater than.
 
3228
there are some entities that need to be there: quotes, non-breakable spaces,
 
3229
ampersands, less than, greater than.
 
3230
 
3210
3231
You can then put your translations, as a zip file to avoid losing special
3211
3232
characters, on the sourceforge.net translation tracker.
 
3233
 
3212
3234
It would be a good idea to subscribe to the phpmyadmin-translators mailing
3213
3235
list, because this is where we ask for translations of new messages.
3214
3236
 
 
3237
Documentation is being translated using po4a and gettext (see documentation for
 
3238
existing translations). To start, checkout localized_docs/po from Git, or just
 
3239
go to the translation server and translate it online. If your language is
 
3240
missing, just contact Michal ?iha?; he will add it. If you prefer to directly
 
3241
translate the po files, please put updated ones into our translation tracker.
 
3242
 
3215
3243
7.3 I would like to help out with the development of phpMyAdmin. How should I
3216
3244
proceed?
3217
3245
 
3240
3268
8.2 How can I protect phpMyAdmin against brute force attacks?
3241
3269
 
3242
3270
If you use Apache web server, phpMyAdmin exports information about
3243
 
authentication to Apache environment and it can be used in Apache logs.
 
3271
authentication to the Apache environment and it can be used in Apache logs.
3244
3272
Currently there are two variables available:
3245
3273
 
3246
3274
userID
3263
3291
9.1 How can I synchronize two databases/tables in phpMyAdmin?
3264
3292
 
3265
3293
You can now synchronize databases/tables in phpMyAdmin using the Synchronize
3266
 
feature. It allows you to connect to local as well as remote servers.This
 
3294
feature. It allows you to connect to local as well as remote servers. This
3267
3295
requires you to enter server host name, username, password, port and the name
3268
3296
of the database. Therefore you can now synchronize your databases placed on the
3269
3297
same server or some remote server.
3270
3298
 
3271
 
For more details see How to synchronize
 
3299
This feature is helpful for developers who need to replicate their database?s
 
3300
structure as well as data. Moreover, this feature not only helps replication
 
3301
but also facilitates the user to keep his/her database in sync with another
 
3302
database. Other than the full database, certain tables of the databases can
 
3303
also be synchronized.
 
3304
 
 
3305
You need to fill in the host name of the server, the username and password of
 
3306
an user account already there in MySQL. Port is by default populated with 3306
 
3307
(MySQL default port). Then the name of the database should be mentioned at the
 
3308
end. All the information other than the port needs to be filled explicitly for
 
3309
the source as well as target servers.
 
3310
 
 
3311
After successfully passing through the authentication phase, the source and
 
3312
target database table names will be displayed. It will be a tabular
 
3313
representation.
 
3314
 
 
3315
On the left, are listed the source database table names. Some of the names have
 
3316
a + plus sign preceding them. This shows that these tables are only present in
 
3317
source database and they need to be added to the target database in order to
 
3318
synchronize the target database. The tables whose names are not preceded by a +
 
3319
sign are already present in the target database.
 
3320
 
 
3321
On the right, are listed the target database table names. There are few table
 
3322
names that have (not present) appended after their names. This means that these
 
3323
tables are to be created in target database in order to synchronize target
 
3324
database with source database. Some table names have a - minus sign preceding
 
3325
them. This shows that these tables are only present in target database and they
 
3326
will remain unchanged in the target database. The column in the middle shows
 
3327
the difference between the source and target corresponding tables.
 
3328
 
 
3329
The difference is depicted by the red and green buttons with S and D letters,
 
3330
indicating that either Structure or Data are not up to date. By clicking on
 
3331
them, they will turn grey, what means that they will be synchronized.
3272
3332
 
3273
3333
Developers Information
3274
3334
 
3296
3356
  * Please try to keep up the file-naming conventions. Table-related stuff goes
3297
3357
    to tbl_*.php, db-related code to db_*.php, server-related tools to
3298
3358
    server_*.php and so on.
3299
 
  * Please don't put message strings in your code, instead add the string (at
3300
 
    least) to english-utf-8.inc.php and print() it out.
 
3359
  * Please use gettext wrappers around all messages (__('Some text') or
 
3360
    _ngettext() function). To translate them, you need to call scripts/
 
3361
    update-po script. To use translated messages, call scripts/generate-mo,
 
3362
    which generates binary files read by Gettext.
3301
3363
  * If you want to be really helpful, write an entry for the ChangeLog.
3302
3364
  * The DBG extension (PHP Debugger DBG) is now supported by phpMyAdmin for
3303
3365
    developers to better debug and profile their code.
3433
3495
  * Marcel Tschopp <ne0x_at_users.sourceforge.net>
3434
3496
      + mysqli support
3435
3497
      + many bugfixes and improvements
 
3498
  * Nicola Asuni (Tecnick.com)
 
3499
      + TCPDF library (http://www.tcpdf.org)
3436
3500
  * Michael Keck <mkkeck_at_users.sourceforge.net>
3437
3501
      + redesign for 2.6.0
3438
3502
      + phpMyAdmin sailboat logo (June 2004)
3445
3509
      + new relations Designer
3446
3510
  * Raj Kissu Rajandran (Google Summer of Code 2008)
3447
3511
      + BLOBstreaming support
3448
 
  * Piotr Przybylski (Google Summer of Code 2008)
 
3512
  * Piotr Przybylski (Google Summer of Code 2008 and 2010)
3449
3513
      + improved setup script
 
3514
      + user preferences
3450
3515
  * Derek Schaefer (Google Summer of Code 2009)
3451
3516
      + Improved the import system
3452
3517
  * Alexander Rutkowski (Google Summer of Code 2009)
3455
3520
      + Synchronization feature
3456
3521
  * Tom?? Srnka (Google Summer of Code 2009)
3457
3522
      + Replication support
 
3523
  * Muhammad Adnan (Google Summer of Code 2010)
 
3524
      + Relation schema export to multiple formats
 
3525
  * Lori Lee (Google Summer of Code 2010)
 
3526
      + User interface improvements
 
3527
      + ENUM/SET editor
 
3528
      + Simplified interface for export/import
 
3529
  * Ninad Pundalik (Google Summer of Code 2010)
 
3530
      + AJAXifying the interface
 
3531
  * Martynas Mickevi?ius (Google Summer of Code 2010)
 
3532
      + Charts
 
3533
  * Barrie Leslie
 
3534
      + BLOBstreaming support with PBMS PHP extension
 
3535
  * Ankit Gupta (Google Summer of Code 2010)
 
3536
      + Visual query builder
3458
3537
 
3459
3538
And also to the following people who have contributed minor changes,
3460
3539
enhancements, bugfixes or support for a new language since version 2.1.0:
3492
3571
    language-independent by outsourcing the strings to a separate file. He also
3493
3572
    contributed the French translation.
3494
3573
  * Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed tbl_select.php3, a
3495
 
    feature to display only some fields from a table.
 
3574
    feature to display only some columns from a table.
3496
3575
  * Chris Jackson <chrisj_at_ctel.net> added support for MySQL functions in
3497
3576
    tbl_change.php3. He also added the "Query by Example" feature in 2.0.
3498
3577
  * Dave Walton <walton_at_nordicdms.com> added support for multiple servers