1.18 (withdrawn).
The "FPDF" library we're using for this feature requires some
special files to use font faces.
Please refers to the FPDF manual to build
these files.
To connect to a MySQL server, PHP needs a set of MySQL functions called
"MySQL extension". This extension may be part of the PHP
distribution (compiled-in), otherwise it needs to be loaded dynamically. Its
name is probably mysql.so or php_mysql.dll. phpMyAdmin tried
to load the extension but failed.
Usually, the problem is solved by installing a software package called
"PHP-MySQL" or something similar.
In php.ini, set mysql.max_links higher than 1.
This is most likely because in php.ini, your file_uploads
parameter is not set to "on".
This happens because the MySQL directive lower_case_table_names
defaults to 1 (ON) in the Win32 version of MySQL. You can change
this behavior by simply changing the directive to 0 (OFF):
Just edit your my.ini file that should be located in your Windows
directory and add the following line to the group [mysqld]:
set-variable = lower_case_table_names=0
Next, save the file and restart the MySQL service. You can always check the
value of this directive using the query
SHOW VARIABLES LIKE 'lower_case_table_names';
A tip from Jose Fandos: put a comment on the following two lines
in httpd.conf, like this:
# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"
as this version of mod_gzip on Apache (Windows) has problems handling
PHP scripts. Of course you have to restart Apache.
This is a permission problem. Right-click on the phpmyadmin folder
and choose properties. Under the tab Security, click on "Add"
and select the user "IUSR_machine" from the list. Now set his
permissions and it should work.
This is a PHP bug that occur when
GZIP output buffering is enabled. If you turn off it (by
$cfg['OBGzip'] = false
in config.inc.php), it should work. This bug will be fixed in
PHP 5.0.0.
This can happen due to a MySQL bug when having database / table names with
upper case characters although lower_case_table_names is set to 1.
To fix this, turn off this directive, convert all database and table names
to lower case and turn it on again. Alternatively, there's a bug-fix
available starting with MySQL 3.23.56 / 4.0.11-gamma.
It is possible to configure Apache in such a way that PHP has problems
interpreting .php files.
The problems occur when two different (and conflicting) set of directives
are used:
SetOutputFilter PHP
SetInputFilter PHP
and
AddType application/x-httpd-php .php
In the case we saw, one set of directives was in
/etc/httpd/conf/httpd.conf, while
the other set was in /etc/httpd/conf/addon-modules/php.conf.
The recommended way is with AddType, so just comment out
the first set of lines and restart Apache:
#SetOutputFilter PHP
#SetInputFilter PHP
This problem is known to happen when the server is running Turck MMCache
but upgrading MMCache to version 2.3.21 solves the problem.
Yes.
However, phpMyAdmin needs to be backwards compatible to php4. This is why
phpMyAdmin disables the E_STRICT error_level in
error_reporting settings.
Yes. This procedure was tested with phpMyAdmin 2.6.1, PHP 4.3.9 in ISAPI
mode under IIS 5.1.
- In your php.ini file, set cgi.rfc2616_headers = 0
- In Web Site Properties -> File/Directory Security -> Anonymous
Access dialog box, check the Anonymous access checkbox and
uncheck any other checkboxes (i.e. uncheck Basic authentication,
Integrated Windows authentication, and Digest if it's
enabled.) Click OK.
- In Custom Errors, select the range of 401;1 through
401;5 and click the Set to Default button.
Yes. This problem affects phpMyAdmin ("Call to undefined function
pma_reloadnavigation"), so upgrade your PHP to the next version.
Yes. Out of the box, you can use URLs like
http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script. For server you use the server number which refers to
the order of the server paragraph in config.inc.php.
Table and script parts are optional. If you want
http://server/phpMyAdmin/database[/table][/script] URLs, you need to do
some configuration. Following lines apply only for Apache web server. First make sure,
that you have enabled some features within global configuration. You need
Options FollowSymLinks
and AllowOverride
FileInfo
enabled for directory where phpMyAdmin is installed and
you need mod_rewrite to be enabled. Then you just need to create following
.htaccess
file in root folder of phpMyAdmin installation
(don't forget to change directory name inside of it):
RewriteEngine On
RewriteBase /path_to_phpMyAdmin
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
Yes. However you need to pass authentication variable to CGI using
following rewrite rule:
RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
There can be many explanations to this and a look at your server's
error log file might give a clue.
If your cluster consist of different architectures, PHP code used for
encryption/decryption won't work correct. This is caused by use of
pack/unpack functions in code. Only solution is to use mcrypt extension
which works fine in this case.
Yes but the default configuration values of Suhosin are known to cause
problems with some operations, for example editing a table with many
columns and no primary key or with textual primary key.
Suhosin configuration might lead to malfunction in some cases and it can
not be fully avoided as phpMyAdmin is kind of application which needs to
transfer big amounts of fields in single HTTP request, what is something
what Suhosin tries to prevent. Generally all
suhosin.request.*
, suhosin.post.*
and
suhosin.get.*
directives can have negative effect on
phpMyAdmin usability. You can always find in your error logs which limit
did cause dropping of variable, so you can diagnose the problem and adjust
matching configuration variable.
The default values for most Suhosin configuration options will work in most
scenarios, however you might want to adjust at least following parameters:
You can also disable the warning using the
SuhosinDisableWarning directive.
Be sure that you have enabled SSLOptions and StdEnvVars
in your Apache configuration. See http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#ssloptions.
To be able to use cookie auth Apache must know that it has to rewrite the set-cookie headers.
Example from the Apache 2.2 documentation:
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/
Note: if the backend url looks like http://host/~user/phpmyadmin,
the tilde (~) must be url encoded as %7E in the ProxyPassReverse* lines.
This is not specific to phpmyadmin, it's just the behavior of Apache.
ProxyPass /mirror/foo/ http://backend.example.com/~user/phpmyadmin
ProxyPassReverse /mirror/foo/
http://backend.example.com/%7Euser/phpmyadmin
ProxyPassReverseCookiePath /%7Euser/phpmyadmin /mirror/foo
See http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
for more details.
The MySQL server's privilege tables are not up to date, you need to run
the mysql_upgrade command on the server.
Configuration
Edit your config.inc.php file and ensure there is nothing
(I.E. no blank lines, no spaces, no characters...) neither before the
<?php tag at the beginning, neither after the ?>
tag at the end. We also got a report from a user under IIS, that used
a zipped distribution kit: the file libraries/Config.class.php
contained an end-of-line character (hex 0A) at the end; removing this character
cleared his errors.
Either there is an error with your PHP setup or your username/password is
wrong. Try to make a small script which uses mysql_connect and see if it
works. If it doesn't, it may be you haven't even compiled MySQL support
into PHP.
For RedHat users, Harald Legner suggests this on the mailing list:
On my RedHat-Box the socket of MySQL is /var/lib/mysql/mysql.sock.
In your php.ini you will find a line
mysql.default_socket = /tmp/mysql.sock
change it to
mysql.default_socket = /var/lib/mysql/mysql.sock
Then restart apache and it will work.
Here is a fix suggested by Brad Ummer:
- First, you need to determine what socket is being used by MySQL.
To do this, telnet to your server and go to the MySQL bin directory. In
this directory there should be a file named mysqladmin. Type
./mysqladmin variables, and this should give you a bunch of
info about your MySQL server, including the socket
(/tmp/mysql.sock, for example).
- Then, you need to tell PHP to use this socket.
To do this in
phpMyAdmin, you need to complete the socket information in the
config.inc.php.
For example:
$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
Please also make sure that the permissions of this file allow to be readable
by your webserver (i.e. '0755').
Have also a look at the
corresponding section of the MySQL documentation.
Try to set the $cfg['OBGZip']
directive to FALSE in the phpMyAdmin configuration file. It helps
sometime.
Also have a look at your PHP version number: if it contains "4.0b..."
it means you're running a beta version of PHP. That's not a so good idea,
please upgrade to a plain revision.
Check the value you set for the
$cfg['PmaAbsoluteUri']
directive in the phpMyAdmin configuration file.
When you are using a port on your localhost, which you redirect via
port-forwarding to another host, MySQL is not resolving the localhost
as expected.
Erik Wasser explains: The solution is: if your host is "localhost"
MySQL (the commandline tool 'mysql' as well) always tries to use the socket
connection for speeding up things. And that doesn't work in this configuration
with port forwarding.
If you enter "127.0.0.1" as hostname, everything is right and MySQL uses the
TCP connection.
Themes are configured with
$cfg['ThemePath'],
$cfg['ThemeManager'] and
$cfg['ThemeDefault'].
Under $cfg['ThemePath'], you
should not delete the directory "original" or its underlying
structure, because this is the system theme used by phpMyAdmin.
"original" contains all images and styles, for backwards
compatibility and for all themes that would not include images or css-files.
If $cfg['ThemeManager']
is enabled, you can select your favorite theme on the main page. Your
selected theme will be stored in a cookie.
To create a theme:
- make a new subdirectory (for example "your_theme_name") under
$cfg['ThemePath']
(by default themes)
- copy the files and directories from "original" to
"your_theme_name"
- edit the css-files in "your_theme_name/css"
- put your new images in "your_theme_name/img"
- edit layout.inc.php in "your_theme_name"
- edit info.inc.php in "your_theme_name" to
contain your chosen theme name, that will be visible in user interface
- make a new screenshot of your theme and save it under
"your_theme_name/screen.png"
In theme directory there is file info.inc.php which contains
theme verbose name, theme generation and theme version. These versions and
generations are enumerated from 1 and do not have any direct dependence on
phpMyAdmin version. Themes within same generation should be backwards
compatible - theme with version 2 should work in phpMyAdmin requiring
version 1. Themes with different generation are incompatible.
If you do not want to use your own symbols and buttons, remove the
directory "img" in "your_theme_name". phpMyAdmin will
use the default icons and buttons (from the system-theme "original").
Here are a few points to check:
- In config.inc.php, try to leave the
$cfg['PmaAbsoluteUri']
directive empty. See also
FAQ 4.7.
- Maybe you have a broken PHP installation or you need to upgrade
your Zend Optimizer. See
http://bugs.php.net/bug.php?id=31134.
- If you are using Hardened PHP with the ini directive varfilter.max_request_variables
set to the default (200) or another low value, you could get this
error if your table has a high number of columns. Adjust this setting
accordingly. (Thanks to Klaus Dorninger for the hint).
- In the php.ini directive arg_separator.input, a value
of ";" will cause this error. Replace it with "&;".
- If you are using Hardened-PHP,
you might want to increase
request limits.
- The directory specified in the php.ini directive session.save_path does not exist or is read-only.
To be able to see a progress bar during your uploads, your server must
have either the APC extension
or the uploadprogress
one. Moreover, the JSON extension has to be enabled in your PHP.
If using APC, you must set apc.rfc1867 to on in your php.ini.
Known limitations
This is related to the authentication mechanism (protocol) used by
phpMyAdmin. To bypass this problem: just close all the opened
browser windows and then go back to phpMyAdmin. You should be able to
log in again.
Compressed dumps are built in memory and because of this are limited to
php's memory limit. For GZip/BZip2 exports this can be overcome since 2.5.4
using
$cfg['CompressOnFly']
(enabled by default). Zip exports can not be handled this way, so if you need
Zip files for larger dump, you have to use another way.
This is an InnoDB bug, see http://bugs.mysql.com/bug.php?id=21704.
The problem is that older versions of mysqldump created invalid comments like this:
-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54
The invalid part of the code is the horizontal line made of dashes that
appears once in every dump created with mysqldump. If you want to run your
dump you have to turn it into valid MySQL. This means, you have to add a
whitespace after the first two dashes of the line or add a # before it:
-- -------------------------------------------------------
or
#---------------------------------------------------------
Please note that you should not use the separating string multiple times
without any characters between them, or at the beginning/end of your table
name. If you have to, think about using another TableSeparator or disabling
that feature
In Relation view, being able to choose a table in another database,
or having more than one index field in the foreign key.
In Query-by-example (Query), automatic generation of the query
LEFT JOIN from the foreign table.
Your table neither have a primary key nor an unique one, so we must use a
long expression to identify this row. This causes problems to parse_url
function. The workaround is to create a primary or unique key.
Due to a surrounding form-container (for multi-row delete checkboxes), no
nested forms can be put inside the table where phpMyAdmin displays the results.
You can, however, use any form inside of a table if keep the parent
form-container with the target to tbl_row_delete.php and just put your own
input-elements inside. If you use a custom submit input field, the form will
submit itself to the displaying page again, where you can validate the
$HTTP_POST_VARS in a transformation.
For a tutorial on how to effectively use transformations, see our
Link section
on the official phpMyAdmin-homepage.
When MySQL is running in ANSI-compatibility mode, there are some major
differences in how SQL is
structured (see
http://dev.mysql.com/doc/mysql/en/ANSI_mode.html). Most important of all,
the quote-character (") is interpreted as an identifier quote character and
not as a string quote character, which makes many internal phpMyAdmin
operations into invalid SQL
statements. There is no workaround to this behaviour. News to this item will
be posted in Bug report
#816858
Please make sure that your table has a primary key, so that phpMyAdmin
can use it for the Edit and Delete links.
phpMyAdmin uses a quick method to get the row count, and this method
only returns an approximate count in the case of InnoDB tables. See
$cfg['MaxExactCount'] for
a way to modify those results, but
this could have a serious impact on performance.
The number of records in queries containing COUNT and GROUP BY is
not correctly calculated. Also, sorting results of a query like
"SELECT * from table GROUP BY" ... is problematic.
The tests I have made with current MySQL 4.1.11 API shows that the
API does not accept this syntax for the USE command. Enclosing the
db name with backquotes works. For further confusion, no backquotes
are needed with command-line mysql.
This has been a known limitation of phpMyAdmin since the beginning and
it's not likely to be solved in the future.
phpMyAdmin uses the PHPExcel library to parse Excel XLS and XLSX spreadsheets.
Therefore, any limitations that are listed on their page regarding Excel calculations will also apply here.
PHPExcel will be kept up to date so as to make all improvements available to phpMyAdmin users.
Since Excel XLSX workbooks are already compressed, there is often times only a small benefit from compressing them yet again.
Support for compressed Excel XLSX and XLS workbooks may be added in the future.
Excel's internal representation of custom cell types is rather muddled (especially in Excel 97-2003 binary XLS files). If possible,
consider using a built-in type. These are almost always guarenteed to import correctly.
There is no reliable way to differetiate tables in CSV format. For the time being, you will have to break apart CSV files containing multiple tables.
Currently, the import type-detection system can only assign these MySQL types to columns. In future, more will likely be added but for the time being
you will have to edit the structure to your liking post-import.
Also, you should note the fact that phpMyAdmin will use the size of the largest item in any given column as the column size for the appropriate type. If you
know you will be adding larger items to that column then you should manually adjust the column sizes accordingly. This is done for the sake of efficiency.
ISPs, multi-user installations
Since version 2.0.3, you can setup a central copy of phpMyAdmin for all
your users. The development of this feature was kindly sponsored by
NetCologne GmbH.
This requires a properly setup MySQL user management and phpMyAdmin
HTTP or cookie authentication. See the install section on
"Using HTTP authentication".
This depends on your system.
If you're running a server which cannot be accessed by other people, it's
sufficient to use the directory protection bundled with your webserver
(with Apache you can use .htaccess files, for example).
If other people have telnet access to your server, you should use
phpMyAdmin's HTTP or cookie authentication features.
Suggestions:
-
Your config.inc.php file should be chmod 660.
-
All your phpMyAdmin files should be chown -R phpmy.apache, where phpmy
is a user whose password is only known to you, and apache is the
group under which Apache runs.
-
You should use PHP safe mode, to protect from other users that try
to include your config.inc.php in their scripts.
Check php.ini, or ask your sysadmin to check it. The
include_path must contain "." somewhere in it, and
open_basedir, if used, must contain "." and
"./lang" to allow normal operation of phpMyAdmin.
This could happen for several reasons:
Starting with 2.2.5, in the user management page, you can enter a wildcard
database name for a user (for example "joe%"),
and put the privileges you want. For example,
adding SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
would let a user create/manage his/her database(s).
If you have existing rules from an old .htaccess file, you can take them
and add a username between the 'deny'/'allow' and
'from' strings. Using the username wildcard of '%' would
be a major benefit here if your installation is suited to using it. Then
you can just add those updated lines into the
$cfg['Servers'][$i]['AllowDeny']['rules'] array.
If you want a pre-made sample, you can try this fragment. It stops the
'root' user from logging in from any networks other than the private
network IP blocks.
//block root from logging in except from the private networks
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
'deny root from all',
'allow root from localhost',
'allow root from 10.0.0.0/8',
'allow root from 192.168.0.0/16',
'allow root from 172.16.0.0/12',
);
This happens if you are using a URL to start phpMyAdmin which is
different than the one set in your
$cfg['PmaAbsoluteUri'].
For example, a missing "www", or entering with an IP address
while a domain name is defined in the config file.
When starting phpMyAdmin, you can use the db, pma_username, pma_password and server parameters. This last one can contain either the numeric host index (from $i of the configuration file) or one of the host names present in the configuration file. Using pma_username and pma_password has been tested along with the usage of 'cookie' auth_type.
Browsers or client OS
We could reproduce this problem only under Win98/98SE. Testing under
WinNT4 or Win2K, we could easily create more than 60 fields.
A workaround is to create a smaller number of fields, then come back to
your table properties and add the other fields.
This is not a phpMyAdmin problem but a Xitami known bug: you'll face it
with each script/website that use forms.
Upgrade or downgrade your Xitami server.
With Konqueror 2.1.1: plain dumps, zip and GZip dumps work ok, except that
the proposed file name for the dump is always 'tbl_dump.php'. Bzip2 dumps
don't seem to work.
With Konqueror 2.2.1: plain dumps work; zip dumps are placed into
the user's temporary directory, so they must be moved before closing
Konqueror, or else they disappear. GZip dumps give an error message.
Testing needs to be done for Konqueror 2.2.2.
MS Internet Explorer seems to be really buggy about cookies, at least till
version 6.
Upgrade to at least Internet Explorer 5.5 SP2.
Your table neither have a primary key nor an unique one, so we must use a
long URL to identify this row. There is a limit on the length of the URL in
those browsers, and this not happen in Netscape, for example. The
workaround is to create a primary or unique key, or use another browser.
Some browsers support right-clicking into the frame you want to refresh,
just do this in the right frame.
Looks like a Mozilla bug: 0.9.6 was OK. We will keep an eye on future
Mozilla versions.
This is a Mozilla bug (see bug #26882 at
BugZilla).
This is a known Netscape 4.75 bug: it adds some line feeds when exporting
data in octet-stream mode. Since we can't detect the specific Netscape
version, we cannot workaround this bug.
Please ensure that you have set your browser's character set to the one of the
language file you have selected on phpMyAdmin's start page.
Alternatively, you can try the auto detection mode that is supported by the
recent versions of the most browsers.
This issue has been reported by a OS X user, who adds that Chimera,
Netscape and Mozilla do not have this problem.
This is a bug in Internet Explorer, other browsers do not behave this way.
Please upgrade to Opera7 at least.
Please upgrade to at least version 1.2.3.
Please check the following points:
- Maybe you have defined your PmaAbsoluteUri setting
in config.inc.php to an IP
address and you are starting
phpMyAdmin with a URL
containing a domain name, or the reverse situation.
- Security settings in IE and/or Microsoft Security Center are
too high, thus blocking scripts execution.
- The Windows Firewall is blocking Apache and MySQL. You must
allow HTTP ports
(80 or 443) and MySQL port (usually 3306)
in the "in" and "out" directions.
Many users have confirmed that the Tabbrowser Extensions plugin they
installed in their Firefox is causing the problem.
This happens only when both of these conditions are met: using the
http authentication mode and register_globals being set
to On on the server. It seems to be a browser-specific problem;
meanwhile use the cookie authentication mode.
Using phpMyAdmin
Examine the SQL error with care. Often the problem is caused by
specifying a wrong field-type.
Common errors include:
- Using VARCHAR without a size argument
- Using TEXT or BLOB with a size argument
Also, look at the syntax chapter in the MySQL manual to confirm that your
syntax is correct.
This is the way to create a multi-fields
index. If you want two indexes, create the first one when creating the
table, save, then display the table properties and click the Index link to
create the other index.
Since version 2.2.3, you have a checkbox for each field that can be null.
Before 2.2.3, you had to enter "null", without the quotes, as the
field's value. Since version 2.5.5, you have to use the checkbox to get
a real NULL value, so if you enter "NULL" this means you want
a literal NULL in the field, and not a NULL value (this works in PHP4).
Click on a database or table name in the left frame, the properties will be
displayed. Then on the menu, click "Export", you can dump
the structure, the data, or both. This will generate standard SQL
statements that can be used to recreate your database/table.
You will need to choose "Save as file", so that phpMyAdmin can
transmit the resulting dump to your station. Depending on your PHP
configuration, you will see options to compress the dump. See also the
$cfg['ExecTimeLimit']
configuration variable.
For additional help on this subject, look for the word "dump" in
this document.
Click on a database name in the left frame, the properties will be
displayed. Select "Import" from the list
of tabs in the right–hand frame (or "SQL" if your phpMyAdmin
version is previous to 2.7.0). In the "Location of the text file" section, type in
the path to your dump filename, or use the Browse button. Then click Go.
With version 2.7.0, the import engine has been re–written, if possible it is suggested
that you upgrade to take advantage of the new features.
For additional help on this subject, look for the word "upload"
in this document.
Here is an example with the tables persons, towns and countries, all
located in the database mydb. If you don't have a pma_relation
table, create it as explained in the configuration section. Then create the
example tables:
CREATE TABLE REL_countries (
country_code char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (country_code)
) TYPE=MyISAM;
INSERT INTO REL_countries VALUES ('C', 'Canada');
CREATE TABLE REL_persons (
id tinyint(4) NOT NULL auto_increment,
person_name varchar(32) NOT NULL default '',
town_code varchar(5) default '0',
country_code char(1) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
INSERT INTO REL_persons VALUES (11, 'Marc', 'S', '');
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');
CREATE TABLE REL_towns (
town_code varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (town_code)
) TYPE=MyISAM;
INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
INSERT INTO REL_towns VALUES ('M', 'Montréal');
To setup appropriate links and display information:
- on table "REL_persons" click Structure, then Relation view
- in Links, for "town_code" choose "REL_towns->code"
- in Links, for "country_code" choose "REL_countries->country_code"
- on table "REL_towns" click Structure, then Relation view
- in "Choose field to display", choose "description"
- repeat the two previous steps for table "REL_countries"
Then test like this:
- Click on your db name in the left frame
- Choose "Query"
- Use tables: persons, towns, countries
- Click "Update query"
- In the fields row, choose persons.person_name and click the
"Show" tickbox
- Do the same for towns.description and countries.descriptions in the
other 2 columns
- Click "Update query" and you will see in the query box that
the correct joins have been generated
- Click "Submit query"
Starting from the previous example, create the pma_table_info as explained
in the configuration section, then browse your persons table,
and move the mouse over a town code or country code.
See also FAQ 6.21 for an additional feature that "display field"
enables: drop-down list of possible values.
First the configuration variables "relation",
"table_coords" and "pdf_pages" have to be filled in.
Then you need to think about your schema layout. Which tables will go on
which pages?
- Select your database in the left frame.
- Choose "Operations" in the navigation bar at the top.
- Choose "Edit PDF
Pages" near the bottom of the page.
- Enter a name for the first PDF
page and click Go. If you like, you
can use the "automatic layout," which will put all your
linked tables onto the new page.
- Select the name of the new page (making sure the Edit radio button
is selected) and click Go.
- Select a table from the list, enter its coordinates and click Save.
Coordinates are relative; your diagram will
be automatically scaled to fit the page. When initially placing tables
on the page, just pick any coordinates -- say, 50x50. After clicking
Save, you can then use the graphical editor to
position the element correctly.
- When you'd like to look at your PDF,
first be sure to click the Save
button beneath the list of tables and coordinates, to save any changes
you made there. Then scroll all the way down, select the
PDF options
you want, and click Go.
- Internet Explorer for Windows may suggest an incorrect filename when
you try to save a generated PDF.
When saving a generated PDF, be
sure that the filename ends in ".pdf", for example
"schema.pdf". Browsers on other operating systems, and other
browsers on Windows, do not have this problem.
No, it's MySQL that is doing
silent
column type changing.
If you do not put a backslash before the underscore, this is a wildcard
grant, and the underscore means "any character". So, if the
database name is "john_db", the user would get rights to john1db,
john2db ...
If you put a backslash before the underscore, it means that the database
name will have a real underscore.
It means "average".
Structure:
- "Add DROP TABLE" will add a line telling MySQL to
drop the table,
if it already exists during the import. It does NOT drop the table after
your export, it only affects the import file.
- "If Not Exists" will only create the table if it doesn't exist.
Otherwise, you may get an error if the table name exists but has a
different structure.
- "Add AUTO_INCREMENT value" ensures that AUTO_INCREMENT value
(if any) will be included in backup.
- "Enclose table and field names with backquotes" ensures that
field and table names formed with special characters are protected.
- "Add into comments" includes column comments, relations, and MIME
types set in the pmadb in the dump as
SQL comments (/* xxx */).
Data:
- "Complete inserts" adds the column names on every INSERT
command, for better documentation (but resulting file is bigger).
- "Extended inserts" provides a shorter dump file by using only
once the INSERT verb and the table name.
- "Delayed inserts" are best explained in the
MySQL manual.
- "Ignore inserts" treats errors as a warning instead. Again,
more info is provided in the
MySQL manual,
but basically with this selected, invalid values are adjusted and
inserted rather than causing the entire statement to fail.
This is a bad idea, because in MySQL the syntax "database.table"
is the normal way to reference a database and table name. Worse, MySQL
will usually let you create a database with a dot, but then you cannot
work with it, nor delete it.
To use it, you need a very recent version of PHP, 4.3.0 recommended, with
XML,
PCRE and
PEAR support.
On your system command line, run "pear install Net_Socket Net_URL
HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary
PEAR modules
for usage.
On a more recent pear version, I had problems with the state of Net_DIME
being beta, so this single command
"pear -d preferred_state=beta install -a SOAP" installed all the
needed modules.
If you use the Validator, you should be aware that any
SQL statement you
submit will be stored anonymously (database/table/column names,
strings, numbers replaced with generic values). The Mimer
SQL
Validator itself, is © 2001 Upright Database Technology.
We utilize it as free SOAP service.
The right way to do this, is to create the field without any indexes,
then display the table structure and use the "Create an index"
dialog. On this page, you will be able to choose your BLOB field, and
set a size to the index, which is the condition to create an index on
a BLOB field.
You can use Ctrl+arrows (Option+Arrows in Safari) for moving on most pages
with many editing fields (table structure changes, row editing, etc.)
(must be enabled in configuration - see.
$cfg['CtrlArrowsMoving']).
You can also have a look at the directive
$cfg['DefaultPropDisplay']
('vertical') and see if this eases up editing for you.
Slow down :). Defining mimetypes is of no use, if you can't put transformations
on them. Otherwise you could just put a comment on the field. Because entering
your own mimetype will cause serious syntax checking issues and validation,
this introduces a high-risk false-user-input situation. Instead you have to
initialize mimetypes using functions or empty mimetype definitions.
Plus, you have a whole overview of available mimetypes. Who knows all those
mimetypes by heart so he/she can enter it at will?
Any query you have executed can be stored as a bookmark on the page where the
results are displayed. You will find a button labeled 'Bookmark this query'
just at the end of the page.
As soon as you have stored a bookmark, it is related to the database you run
the query on. You can now access a bookmark dropdown on each page, the query
box appears on for that database.
Since phpMyAdmin 2.5.0 you are also able to store variables for the bookmarks.
Just use the string /*[VARIABLE]*/ anywhere in your query. Everything
which is put into the value input box on the query box page will
replace the string "/*[VARIABLE]*/" in your stored query. Just be
aware of that you HAVE to create a valid query, otherwise your query won't be
even able to be stored in the database.
Also remember, that everything else inside the /*[VARIABLE]*/ string
for your query will remain the way it is, but will be stripped of the /**/
chars. So you can use:
/*, [VARIABLE] AS myname */
which will be expanded to
, VARIABLE as myname
in your query, where VARIABLE is the string you entered in the input box. If
an empty string is provided, no replacements are made.
A more complex example. Say you have stored this query:
SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%[VARIABLE]%' */
Say, you now enter "phpMyAdmin" as the variable for the stored query,
the full query will be:
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'
You can use multiple occurrences of /*[VARIABLE]*/ in a single query.
NOTE THE ABSENCE OF SPACES inside the "/**/" construct. Any
spaces inserted there
will be later also inserted as spaces in your query and may lead to unexpected
results especially when
using the variable expansion inside of a "LIKE ''" expression.
Your initial query which is going to be stored as a bookmark has to yield at
least one result row so
you can store the bookmark. You may have that to work around using well
positioned "/**/" comments.
You can simply include table in your LATEX documents, minimal sample
document should look like following one (assuming you have table
exported in file table.tex
):
\documentclass{article} % or any class you want
\usepackage{longtable} % for displaying table
\begin{document} % start of document
\include{table} % including exported table
\end{document} % end of document
You have one of these global privileges: CREATE
TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Those privileges also
enable users to see all the database names.
See this bug report.
So if your users do not need those privileges, you can remove them and their
databases list will shorten.
You have to setup appropriate links between the tables, and also
setup the "display field" in the foreign table. See
FAQ
6.6 for an example. Then, if there are 100 values or less in the
foreign table, a drop-down list of values will be available.
You will see two lists of values, the first list containing the key
and the display field, the second list containing the display field
and the key. The reason for this is to be able to type the first
letter of either the key or the display field.
For 100 values or more, a distinct window will appear, to browse foreign
key values and choose one. To change the default limit of 100, see
$cfg['ForeignKeyMaxLimit'].
Yes. If a bookmark has the same label as a table name, it will be executed.
You can use
CSV for Microsoft Excel,
which works out of the box, but phpMyAdmin supports direct export
to Microsoft Excel version 97 and newer. For this to work, you need to set
$cfg['TempDir'] to a
place where the web server user can write (for example './tmp').
To create the temporary directory on a UNIX-based system, you can do:
cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp
Automatic migration of a table's pmadb-style column comments to the native
ones is done whenever you enter Structure page for this table.
First, for general information about BLOB streaming on MySQL, visit blobstreaming.org. We currently support streaming if you are running MySQL 5.1 with the PBXT and PBMS storage engines. Moreover, only PBMS 0.5.04 is supported.
- In config.inc.php your host should be defined with a FQDN (fully qualified domain name) instead of something like "localhost".
- A current limitation is that your first login via phpMyAdmin to a freshly-started server must be done with an account that has the SUPER privilege.
- On your target database, go to Operations and in the "BLOB Repository" section, click "Enable". This creates the PBMS system tables inside your database.
- Ensure that your target table is under the PBXT storage engine and has a LONGBLOB column.
- When you insert or update a row in this table, put a checkmark on the "Upload to BLOB repository" optional choice; otherwise, the upload will be done directly in your column instead of the repository.
- Finally when you browse your table, you'll see in your column a link to stream your data, for example "View image". A header containing the correct MIME-type will be sent to your browser; this MIME-type was stored at upload time but in case it's incorrect, it's possible to edit it by clicking on the displayed MIME-type.
Click the first row of the range, hold the shift key and click the last row of the range. This works everywhere you see rows, for example in Browse mode or on the Structure page.
phpMyAdmin project
Our Bug Tracker is located at
http://sf.net/projects/phpmyadmin/
under the Bugs section.
But please first discuss your bug with other users:
http://sf.net/projects/phpmyadmin/ (and choose Forums)
Always use the current SVN version of your language file.
For a new language, start from english-utf-8.inc.php. If you
don't know how to get the SVN version, please ask one of the developers.
Please note that we try not to use HTML entities like é in
the translations, since we define the right character set in the file.
With HTML entities, the text on JavaScript messages would not
display correctly.
However there are some entities that need to be there, for quotes
,non-breakable spaces, ampersands, less than, greater than.
You can then put your translations, as a zip file to avoid losing special
characters, on the sourceforge.net translation tracker.
It would be a good idea to subscribe to the phpmyadmin-translators mailing
list, because this is where we ask for translations of new messages.
The following method is preferred for new developers:
- fetch the current git repository over anonymous git:
git clone
git://phpmyadmin.git.sourceforge.net/gitroot/phpmyadmin/phpmyadmin
- add your stuff
- generate patch with your changes:
git diff > xxx.diff
- submit your patch via the patch
tracker of the phpMyAdmin project.
More details on git are available on our wiki.
Write access to the repository is granted only to experienced developers who
have already contributed something useful to phpMyAdmin.
Also, have a look at the Developers section.
Security
Please refer to
http://www.phpmyadmin.net/home_page/security.php
If you use Apache web server, phpMyAdmin exports information about
authentication to Apache environment and it can be used in Apache logs.
Currently there are two variables available:
userID
- User name of currently active user (he does not have to be logged
in).
userStatus
- Status of currently active user, one of
ok
(user is
logged in), mysql-denied
(MySQL denied user login),
allow-denied
(user denied by allow/deny rules),
root-denied
(root is denied in configuration),
empty-denied
(empty password is denied).
LogFormat
directive for Apache can look like following:
LogFormat "%h %l %u %t \"%r\" %>s %b \
\"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n" pma_combined
You can then use any log analyzing tools to detect possible break-in
attempts.
Synchronization
You can now synchronize databases/tables in phpMyAdmin using the Synchronize feature.
It allows you to connect to local as well as remote servers.This requires you to enter
server host name, username, password, port and the name of the database. Therefore you can
now synchronize your databases placed on the same server or some remote server.
For more details see How to synchronize
Developers Information
phpMyAdmin is Open Source, so you're invited to contribute to it. Many
great features have been written by other people and you too can help to
make phpMyAdmin a useful tool.
If you're planning to contribute source, please read the following
information:
- All files include libraries/header.inc.php (layout),.
libraries/common.lib.php (common functions) and
config.inc.php.
Only configuration data should go in config.inc.php. Please keep
it free from other code.
Commonly used functions should be added to
libraries/common.lib.php and more specific ones may be added
within a library stored into the libraries sub-directory.
- Obviously, you're free to use whatever coding style you want. But
please try to keep your code as simple as possible: beginners are
using phpMyAdmin as an example application.
As far as possible, we want the scripts to be XHTML1.0 and CSS2
compliant on one hand, they fit the
PEAR
coding standards
on the other hand. Please pay attention to this.
- Please enable showing PHP errors and warnings by the
$cfg['Error_Handler']['display']
configuration directive.
- Please try to keep up the file-naming conventions. Table-related stuff
goes to tbl_*.php, db-related code to db_*.php,
server-related tools to server_*.php and so on.
- Please don't put message strings in your code, instead add the string
(at least) to english-utf-8.inc.php and print() it out.
- If you want to be really helpful, write an entry for the ChangeLog.
-
The DBG extension (PHP
Debugger DBG) is now supported by phpMyAdmin for developers to
better debug and profile their code.
Please see the
$cfg['DBG']* configuration
options for more information.
This is in memoriam of the Space Shuttle Columbia (STS-107) which was
lost during its re-entry into Earth's atmosphere and in memory of the
brave men and women who gave their lives for the people of Earth.
Copyright
Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
Copyright (C) 2001-2010 Marc Delisle <marc_at_infomarc.info>
Olivier Müller <om_at_omnis.ch>
Robin Johnson <robbat2_at_users.sourceforge.net>
Alexander M. Turek <me_at_derrabus.de>
Michal Čihař <michal_at_cihar.com>
Garvin Hicking <me_at_supergarv.de>
Michael Keck <mkkeck_at_users.sourceforge.net>
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
[check credits for more details]
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2,
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Credits
Credits, in chronological order
- Tobias Ratschiller <tobias_at_ratschiller.com>
- creator of the phpmyadmin project
- maintainer from 1998 to summer 2000
- Marc Delisle <marc_at_infomarc.info>
- multi-language version
- various fixes and improvements
- SQL analyser (most of it)
- current project maintainer
- Olivier Müller <om_at_omnis.ch>
- started SourceForge phpMyAdmin project in March 2001
- sync'ed different existing CVS trees with new features and bugfixes
- multi-language improvements, dynamic language selection
- current project maintainer
- many bugfixes and improvements
- Loïc Chapeaux <lolo_at_phpheaven.net>
- rewrote and optimized javascript, DHTML and DOM stuff
- rewrote the scripts so they fit the PEAR coding standards and
generate XHTML1.0 and CSS2 compliant codes
- improved the language detection system
- many bugfixes and improvements
- Robin Johnson <robbat2_at_users.sourceforge.net>
- database maintenance controls
- table type code
- Host authentication IP Allow/Deny
- DB-based configuration (Not completed)
- SQL parser and pretty-printer
- SQL validator
- many bugfixes and improvements
- Armel Fauveau <armel.fauveau_at_globalis-ms.com>
- bookmarks feature
- multiple dump feature
- gzip dump feature
- zip dump feature
- Geert Lund <glund_at_silversoft.dk>
- various fixes
- moderator of the phpMyAdmin former users forum at phpwizard.net
- Korakot Chaovavanich <korakot_at_iname.com>
- "insert as new row" feature
- Pete Kelly <webmaster_at_trafficg.com>
- rewrote and fix dump code
- bugfixes
- Steve Alberty <alberty_at_neptunlabs.de>
- rewrote dump code for PHP4
- mySQL table statistics
- bugfixes
- Benjamin Gandon <gandon_at_isia.cma.fr>
- main author of the version 2.1.0.1
- bugfixes
- Alexander M. Turek <me_at_derrabus.de>
- MySQL 4.0 / 4.1 / 5.0 compatibility
- abstract database interface (PMA_DBI) with MySQLi support
- privileges administration
- XML exports
- various features and fixes
- German language file updates
- Mike Beck <mike.beck_at_web.de>
- automatic joins in QBE
- links column in printview
- Relation view
- Michal Čihař <michal_at_cihar.com>
- enhanced index creation/display feature
- feature to use a different charset for HTML than for MySQL
- improvements of export feature
- various features and fixes
- Czech language file updates
- Christophe Gesché from the "MySQL Form Generator for PHPMyAdmin"
(http://sf.net/projects/phpmysqlformgen/)
- suggested the patch for multiple table printviews
- Garvin Hicking <me_at_supergarv.de>
- built the patch for vertical display of table rows
- built the Javascript based Query window + SQL history
- Improvement of column/db comments
- (MIME)-Transformations for columns
- Use custom alias names for Databases in left frame
- hierarchical/nested table display
- PDF-scratchboard for WYSIWYG-distribution of PDF relations
- new icon sets
- vertical display of column properties page
- some bugfixes, features, support, German language additions
- Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>
- japanese kanji encoding conversion feature
- Piotr Roszatycki <d3xter_at_users.sourceforge.net> and Dan Wilson
- the Cookie authentication mode
- Axel Sander <n8falke_at_users.sourceforge.net>
- table relation-links feature
- Maxime Delorme <delorme.maxime_at_free.fr>
- Olof Edlund <olof.edlund_at_upright.se>
- Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>
- phpMyAdmin logo (until June 2004)
- Mike Cochrane <mike_at_graftonhall.co.nz>
- blowfish library from the Horde project
- Marcel Tschopp <ne0x_at_users.sourceforge.net>
- mysqli support
- many bugfixes and improvements
- Michael Keck <mkkeck_at_users.sourceforge.net>
- redesign for 2.6.0
- phpMyAdmin sailboat logo (June 2004)
- Mathias Landhäußer
- Representation at conferences
- Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
- interface improvements
- various bugfixes
- Ivan A Kirillov
- Raj Kissu Rajandran (Google Summer of Code 2008)
- Piotr Przybylski (Google Summer of Code 2008)
- Derek Schaefer (Google Summer of Code 2009)
- Improved the import system
- Alexander Rutkowski (Google Summer of Code 2009)
- Zahra Naeem (Google Summer of Code 2009)
- Tomáš Srnka (Google Summer of Code 2009)
And also to the following people who have contributed minor changes,
enhancements, bugfixes or support for a new language since version 2.1.0:
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita,
Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow,
Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger,
Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley,
Bernard M. Piller, Laurent Haas, "Sakamoto", Yuval Sarna,
www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec,
Michael Tacelosky, Rachim Tamsjadi, Kositer Uros,
Luís V., Martijn W. van der Lee,
Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai,
Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, "Manuzhai".
Original Credits of Version 2.1.0
This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea
to create a web-based interface to MySQL using PHP3. Although I have not
used any of his source-code, there are some concepts I've borrowed from
him. phpMyAdmin was created because Peter told me he wasn't going to
further develop his (great) tool.
Thanks go to
- Amalesh Kempf <ak-lsml_at_living-source.com> who contributed the
code for the check when dropping a table or database. He also suggested
that you should be able to specify the primary key on tbl_create.php3. To
version 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as
well as a bug-report. Plus many smaller improvements.
- Jan Legenhausen <jan_at_nrw.net>: He made many of the changes that
were introduced in 1.3.0 (including quite significant ones like the
authentication). For 1.4.1 he enhanced the table-dump feature. Plus
bug-fixes and help.
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> made phpMyAdmin
language-independent by outsourcing the strings to a separate file. He
also contributed the French translation.
- Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed
tbl_select.php3, a feature to display only some fields from a table.
- Chris Jackson <chrisj_at_ctel.net> added support for MySQL
functions in tbl_change.php3. He also added the
"Query by Example" feature in 2.0.
- Dave Walton <walton_at_nordicdms.com> added support for multiple
servers and is a regular contributor for bug-fixes.
- Gabriel Ash <ga244_at_is8.nyu.edu> contributed the random access
features for 2.0.6.
The following people have contributed minor changes, enhancements, bugfixes
or support for a new language:
Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann,
Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov,
Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns,
G. Wieggers.
And thanks to everyone else who sent me email with suggestions, bug-reports
and or just some feedback.
Glossary
From Wikipedia, the free encyclopedia
- .htaccess
- the default name of Apache's directory-level configuration file.
- Blowfish
- a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.
- Browser (Web Browser)
- a software application that enables a user to display and interact with
text, images, and other information typically located on a web page at a
website on the World Wide Web.
- bzip2
- a free software/open source data compression algorithm and program
developed by Julian Seward.
- CGI (Common Gateway Interface)
- an important World Wide Web technology that enables a client web browser
to request data from a program executed on the Web server.
- Changelog
- a log or record of changes made to a project.
- Client
- a computer system that accesses a (remote) service on another computer
by some kind of network.
- column
- a set of data values of a particular simple type, one for each row of
the table.
- Cookie
- a packet of information sent by a server to a World Wide Web browser
and then sent back by the browser each time it accesses that server.
- CSV
- Comma-separated values
- DB - look at Database.
- database
- an organized collection of data.
- Engine - look at Storage Engines.
- extension
- a PHP module that extends PHP with additional functionality.
- FAQ (Frequently Asked Questions)
- a list of commonly asked question and there answers.
- Field
- one part of divided data/columns.
- foreign key
- a field or group of fields in a database record that point to a key
field or group of fields forming a key of another database record in some
(usually different) table.
- FPDF (FreePDF)
- the free PDF library
-
GD Graphics Library - a library by Thomas Boutell and others for
dynamically manipulating images.
- GD2 - look at GD Graphics Library.
- gzip
- gzip is short for GNU zip, a GNU free software file compression
program.
- host
- any machine connected to a computer network, a node that has a hostname.
- hostname
- the unique name by which a network attached device is known on a network.
- HTTP
(HyperText Transfer Protocol)
- the primary method used to transfer or convey information on the World
Wide Web.
- https
- a HTTP-connection with
additional security measures.
- IIS (Internet Information Services)
- a set of Internet-based services for servers using Microsoft Windows.
- Index
- a feature that allows quick access to the rows in a table.
- IP (Internet Protocol)
- a data-oriented protocol used by source and destination hosts for
communicating data across a packet-switched internetwork.
- IP Address
- a unique number that devices use in order to identify and communicate
with each other on a network utilizing the Internet Protocol standard.
- ISAPI
(Internet Server Application Programming Interface)
- the API of Internet Information Services (IIS).
- ISP (Internet service provider)
- a business or organization that offers users access to the Internet and related services.
- JPEG
- a most commonly used standard method of lossy compression for
photographic images.
- JPG - look at JPEG.
- Key - look at index.
- LATEX
- a document preparation system for the TEX typesetting program.
- Mac (Apple Macintosh)
- line of personal computers is designed, developed, manufactured, and
marketed by Apple Computer.
- Mac OS X
- the operating system which is included with all currently shipping Apple
Macintosh computers in the consumer and professional markets.
- MCrypt
- a cryptographic library.
- mcrypt
- the MCrypt PHP extension.
- MIME (Multipurpose Internet Mail Extensions)
- an Internet Standard for the format of e-mail.
- module
- some sort of extension for the Apache Webserver.
- MySQL
- a multithreaded, multi-user, SQL (Structured Query Language) Database
Management System (DBMS).
- mysqli
- the improved MySQL client PHP extension.
- mysql
- the MySQL client PHP extension.
- OpenDocument
- open standard for office documents.
- OS X
- look at Mac OS X.
- PDF
(Portable Document Format)
- a file format developed by Adobe Systems for representing two
dimensional documents in a device independent and resolution independent
format.
- PEAR
- the PHP Extension and Application Repository.
- PCRE (Perl Compatible Regular Expressions)
- the perl-compatible regular expression functions for PHP
- PHP
- short for "PHP: Hypertext Preprocessor", is an open-source, reflective
programming language used mainly for developing server-side applications
and dynamic web content, and more recently, a broader range of software
applications.
- port
- a connection through which data is sent and received.
- RFC
- Request for Comments (RFC) documents are a series of memoranda
encompassing new research, innovations, and methodologies applicable to
Internet technologies.
- RFC 1952
- GZIP file format specification version 4.3
- Row (record, tulpel)
- represents a single, implicitly structured data item in a table.
- Server
- a computer system that provides services to other computing
systems over a network.
- Storage Engines
- handlers for different table types
- socket
- a form of inter-process communication.
- SSL (Secure
Sockets Layer)
- a cryptographic protocol which provides secure communication on the Internet.
- SQL
- Structured Query Language
- table
- a set of data elements (cells) that is organized, defined and stored as
horizontal rows and vertical columns where each item can be uniquely
identified by a label or key or by it?s position in relation to other items.
- Table type
- tar
- a type of archive file format: the Tape ARchive format.
- TCP (Transmission Control Protocol)
- one of the core protocols of the Internet protocol suite.
- UFPDF
- Unicode/UTF-8 extension for FPDF
- URL (Uniform Resource Locator)
- a sequence of characters, conforming to a standardized format, that is
used for referring to resources, such as documents and images on the
Internet, by their location.
- Webserver
- A computer (program) that is responsible for accepting HTTP requests
from clients and serving them Web pages.
- XML (Extensible Markup Language)
- a W3C-recommended general-purpose markup language for creating
special-purpose markup languages, capable of describing many different
kinds of data.
- ZIP
- a popular data compression and archival format.
- zlib
- an open-source, cross-platform data compression library by Jean-loup
Gailly and Mark Adler.