2.2.6
[phpmyadmin/arisferyanto.git] / Documentation.html
blob319902eb45603a5b3ae4488e79be16d301c5a720
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
4 <!-- $Id$ -->
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
8 <title>phpMyAdmin 2.2.6 - Documentation</title>
9 <style type="text/css">
10 <!--
11 .navigation {
12 font-family: Verdana, Arial, Helvetica, sans-serif;
13 text-decoration: none;
14 font-size: 10pt;
15 color: #000099;
16 font-weight: normal;
18 .navigation:hover {
19 background-color: #99CCFF;
20 font-weight: bolder;
22 .navigation2 {
23 font-family: Verdana, Arial, Helvetica, sans-serif;
24 text-decoration: none;
25 font-size: 14pt;
26 color: #000099;
27 font-weight: normal;
29 .navigation2:hover {
30 background-color: #99CCFF;
31 font-weight: bolder
33 h1 {
34 font-family: Verdana, Arial, Helvetica, sans-serif;
35 font-size: x-large;
36 font-weight: bold;
37 color: #000066;
39 .simple {
40 font-family: Arial, Helvetica, sans-serif;
41 font-size: smaller;
42 color: #000000;
44 body {
45 font-family: Arial, Helvetica, sans-serif;
46 font-size: 10pt;
48 td {
49 font-family: Arial, Helvetica, sans-serif;
50 font-size: 10pt;
52 ul {
53 font-family: Arial, Helvetica, sans-serif;
54 font-size: 10pt;
56 ol {
57 font-family: Arial, Helvetica, sans-serif;
58 font-size: 10pt;
60 p {
61 font-family: Arial, Helvetica, sans-serif;
62 font-size: 10pt;
64 h2 {
65 font-family: Verdana, Arial, Helvetica, sans-serif;
66 font-size: large;
67 font-weight: bold;
68 color: #000066;
69 page-break-before: right;
71 //-->
72 </style>
73 </head>
75 <body bgcolor="#FFFFFF">
76 <a name="top"></a>
77 <h1>phpMyAdmin 2.2.6 Documentation</h1>
80 <!-- TOP MENU -->
81 <ul>
82 <li><a class="navigation" href="http://www.phpmyadmin.net/">Sourceforge phpMyAdmin project page&nbsp;&nbsp;&nbsp;[ http://www.phpmyadmin.net/ ]</a></li>
83 <li>Local documents:
84 <ul>
85 <li>Version history: <a class="navigation" href="ChangeLog">ChangeLog</a></li>
86 <li>General notes: <a class="navigation" href="README">README</a></li>
87 <li>License: <a class="navigation" href="LICENSE">LICENSE</a></li>
88 </ul>
89 </li>
90 <li>Documentation version: <i>$Id$</i></li>
91 </ul>
94 <!-- REQUIREMENTS -->
95 <a name="require"></a><br />
96 <hr noshade="noshade" width="100%" />
97 <font size="+1">
98 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
99 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
100 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
101 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
102 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
103 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
104 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
105 <a class="navigation2" href="#credits">Credits</a>
106 </font>
107 <hr noshade="noshade" width="100%" />
109 <h2>Requirements</h2>
111 <ul>
112 <li>
113 PHP3 or PHP4: phpMyAdmin widely uses the 'str_replace()' php function
114 that was added in PHP&nbsp;3.0.6, but was buggy up until
115 PHP&nbsp;3.0.8.
116 Then <font color="#bb0000">you should not run this script with
117 PHP3&nbsp;&lt;&nbsp;3.0.8</font>.<br />
118 Furthermore, we encountered crashes of the php module / binary when
119 working with PHP 4.2.0 (tested with PHP 4.2.0 RC1 to RC4) and trying to
120 download a (zipped) dump file using MS Internet Explorer. That is why
121 <font color="#bb0000">we recommend not to run phpMyAdmin with PHP
122 4.2.0</font>.
123 <br />
124 PHP also needs to be <font color="#bb0000">compiled with MySQL
125 support</font>;
126 </li>
127 <li>
128 MySQL (tested with 3.21.x, 3.22.x, 3.23.x and 4.0.x);
129 </li>
130 <li>
131 a web-browser (doh!).
132 </li>
133 </ul>
136 <!-- INTRODUCTION -->
137 <a name="intro"></a><br />
138 <hr noshade="noshade" width="100%" />
139 <font size="+1">
140 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
141 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
142 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
143 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
144 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
145 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
146 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
147 <a class="navigation2" href="#credits">Credits</a>
148 </font>
149 <hr noshade="noshade" width="100%" />
151 <h2>Introduction</h2>
154 phpMyAdmin can manage a whole MySQL-server (needs a super-user)
155 but also a single database. To accomplish the latter you'll need
156 a properly set up MySQL-user who can read/write only the desired
157 database. It's up to you to look up the appropriate part in the
158 MySQL manual. Currently phpMyAdmin can:
159 </p>
161 <ul>
162 <li>create and drop databases</li>
163 <li>create, copy, drop and alter tables</li>
164 <li>delete, edit and add fields</li>
165 <li>execute any SQL-statement, even batch-queries</li>
166 <li>manage keys on fields</li>
167 <li>load text files into tables</li>
168 <li>create (*) and read dumps of tables</li>
169 <li>export (*) and import data to CSV values</li>
170 <li>administer multiple servers and single databases</li>
171 <li>check referential integrity</li>
172 <li>communicate in more than 38 different languages</li>
173 </ul>
175 <table border="0" cellspacing="0" cellpadding="0">
176 <tr>
177 <td valign="top">(*)&nbsp;</td>
178 <td>
179 phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats) dumps
180 and CSV exports if you use PHP4&nbsp;>=&nbsp;4.0.4 with Zlib support
181 (<tt>--with-zlib</tt>) and/or Bzip2 support (<tt>--with-bz2</tt>).
182 </td>
183 </tr>
184 </table>
187 <!-- INSTALLATION -->
188 <a name="setup"></a><br />
189 <hr noshade="noshade" width="100%" />
190 <font size="+1">
191 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
192 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
193 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
194 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
195 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
196 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
197 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
198 <a class="navigation2" href="#credits">Credits</a>
199 </font>
200 <hr noshade="noshade" width="100%" />
202 <h2>Installation</h2>
205 <font color="#bb0000">NOTE: phpMyAdmin does not apply any special security
206 methods to the MySQL database server. It is still the sysadmin's job to
207 grant permissions on the MySQL databases properly.</font>
208 </p>
211 <font color="#bb0000">Warning for Mac users:</font> php seems not to like
212 Mac end of lines character (&quot;<tt>\r</tt>&quot;) and Stuffit unstuffs
213 with Mac formats, of course.<br />
214 So you'll have to resave as in Bbedit to unix style ALL phpMyAdmin scripts
215 before uploading them to your server.
216 </p>
219 <font color="#bb0000">Documentation warning:</font> when you see in this
220 document a <i>.php3</i> file extension, please transpose to <i>.php</i>
221 if you are using a kit with files having this extension.
222 </p>
224 <p><b>Quick Install:</b></p>
225 <ol>
226 <li> Use a distribution kit with the files having the extension
227 (<i>.php3</i> or <i>.php</i>) depending on the way your web/PHP server
228 interprets those extensions.</li>
229 <li> Untar or unzip the distribution (be sure to unzip the subdirectories):
230 <tt>tar xzvf phpMyAdmin_x.x.x.tar.gz</tt> in your webserver's
231 document root.</li>
232 <li> Open the file config.inc.php3 in your favourite editor and change
233 the values for host, user, password and authentication mode to fit
234 your environment.
235 Also insert the correct value for <tt>$cfgPmaAbsoluteUri</tt>.
236 Have a look at
237 <a class="navigation" href="#config">Configuration section</a> for an
238 explanation of all values.</li>
239 <li> It is recommended that you protect the directory in which you
240 installed phpMyAdmin (unless it's on a closed intranet, or you wish to
241 use http or cookie authentication), for example with HTTP-AUTH (in a
242 <i>.htaccess</i> file). See the
243 <a class="navigation" href="#faq">FAQ section</a> for additional
244 information.</li>
245 <li> Open the file
246 <i>&lt;www.your-host.com&gt;/&lt;your-install-dir&gt;/index.php3</i>
247 in your browser. phpMyAdmin should now display a welcome screen
248 and your databases, or a login dialog if using http or cookie
249 authentication mode.</li>
250 </ol>
252 <p><b>Upgrading from an older version:</b></p>
253 <ul>
254 <li>Please do not copy your older config.inc.php3 over the new one: it may
255 offer new configuration variables, and the new version may depend on
256 these for normal behavior. It is suggested instead to insert your site
257 values in the new one.</li>
258 </ul>
260 <p><b>Using authentication modes:</b></p>
261 <ul>
262 <li>Http and cookie authentication modes are recommended in a multi-user
263 environment where you want to give users access to their own database
264 and don't want them to play around with others.
265 <br />
266 Nevertheless be aware that MS Internet Explorer seems to be really
267 buggy about cookies, at least till version 6. And php 4.1.1 is also a
268 bit buggy in this area!<br /><br /></li>
270 <li>Http and cookie authentication modes are secure: the MySQL password
271 does not need to be set in the phpMyAdmin configuration file. (except
272 for the &quot;controluser&quot; -see the Configuration section-).
273 <br />
274 In cookie mode, we send the password in a temporary cookie, so most
275 browsers should not store the password in their cookie file.
276 <br /><br /></li>
278 <li>
279 For 'http' and 'cookie' modes, phpMyAdmin needs a controluser that has
280 <b>only</b> the <tt>SELECT</tt> privilege on the <i>mysql.user (all
281 columns except &quot;Password&quot;)</i>, <i>mysql.db (all columns)</i>
282 &amp; <i>mysql.tables_priv (all columns except &quot;Grantor&quot;
283 &amp; &quot;Timestamp&quot;) </i>tables.<br />
284 You must specify the details for the controluser in the
285 <i>config.inc.php3</i> file under the
286 <tt>$cfgServers[$i]['controluser']</tt>&amp;
287 <tt>$cfgServers[$i]['controlpass']</tt> settings.<br />
288 This example assumes you want to use <tt>pma</tt> as the controluser
289 and <tt>pmapass</tt> as the controlpass:<br />
290 <table border="0">
291 <tr>
292 <td>&nbsp;&nbsp;&nbsp;</td>
293 <td>
294 <tt>GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';</tt><br />
295 <tt>GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) ON mysql.user TO 'pma'@'localhost';</tt><br />
296 <tt>GRANT SELECT ON mysql.db TO 'pma'@'localhost';</tt><br />
297 <tt>GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'localhost';</tt>
298 </td>
299 </tr>
300 <tr>
301 <td colspan="2">
302 ... and if you want to use the bookmark feature:
303 </td>
304 </tr>
305 <tr>
306 <td>&nbsp;&nbsp;&nbsp;</td>
307 <td>
308 <tt>GRANT SELECT, INSERT, DELETE ON &lt;bookmark_db&gt;.&lt;bookmark_table&gt; TO 'pma'@'localhost';</tt>
309 </td>
310 </tr>
311 </table>
312 <br />
313 </li>
314 <li>
315 Then each of the <i>true</i> users should be granted of a set of
316 privileges on a set of perticular databases but shouldn't have any
317 global privileges. For example, to grant the user <i>real_user</i> with
318 all privileges on the database <i>user_base</i>:<br />
319 &nbsp;&nbsp;&nbsp;<tt>GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';</tt>
320 <br />
321 What the user may now do is controlled entirely by the MySQL user
322 management system.<br />
323 With http or cookie auth mode, you don't need to fill the user/password
324 fields inside the <tt>$cfgServers</tt> array.<br />
325 </li>
326 </ul>
328 <p><b>'http' authentication mode:</b></p>
329 <ul>
330 <li>Was called 'advanced' in versions before 2.2.3.</li>
331 <li>Introduced in 1.3.0, it uses Basic HTTP authentication method and
332 allows you to login as any valid MySQL user.</li>
333 <li>Is only supported with PHP running as an Apache module, not with cgi.</li>
334 </ul>
336 <p><b>'cookie' authentication mode:</b></p>
337 <ul>
338 <li>You can use this method as a replacement for the http
339 authentication (for example, if you're running IIS).
340 </li>
341 <li>Obviously, the user must enable cookies in the browser.</li>
342 <li>With this mode, the use can truly logout of phpMyAdmin and login back
343 with the same username.</li>
344 </ul>
346 <p><b>'config' authentication mode:</b></p>
347 <ul>
348 <li>This mode is the less secure one because it requires you to fill the
349 <tt>$cfgServers[$i]['user']</tt> and
350 <tt>$cfgServers[$i]['password']</tt> fields.<br />
351 But you don't need to setup a &quot;controluser&quot; here:
352 using the <tt>$cfgServers[$i]['only_db']</tt> might be enough.<br />
353 In the ISP FAQ section, there is an entry explaining how to protect
354 your configuration file.<br /></li>
355 </ul>
358 <!-- CONFIGURATION -->
359 <a name="config"></a><br />
360 <hr noshade="noshade" width="100%" />
361 <font size="+1">
362 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
363 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
364 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
365 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
366 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
367 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
368 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
369 <a class="navigation2" href="#credits">Credits</a>
370 </font>
371 <hr noshade="noshade" width="100%" />
373 <h2>Configuration</h2>
376 <font color="#bb0000">Warning for Mac users:</font> php seems not to like
377 Mac end of lines character (&quot;<tt>\r</tt>&quot;). So ensure you choose
378 the option that allows to use the *nix end of line character
379 (&quot;<tt>\n</tt>&quot;) in your text editor before registering a script
380 you have modified.
381 </p>
383 <p>All configurable data is placed in <i>config.inc.php3</i>.</p>
384 <dl>
385 <dt><b>$cfgPmaAbsoluteUri</b> string</dt>
386 <dd>
387 Sets here the complete url (with full path) to your phpMyAdmin version.
388 E.g. <tt>http://www.your_web.net/path_to_your_phpMyAdmin_directory/</tt>.
389 <br />
390 Don't forget the slash at the end of your url. The url must contain
391 characters that are valid for a url, and on some servers, the path
392 is case-sensitive.
393 <br /><br />
394 This setting can be dynamically completed. For example, you can try to
395 use such a kind of code:
396 <pre>
397 $cfgPmaAbsoluteUri = (!empty($HTTPS) ? 'https' : 'http') . '://'
398 . $HTTP_HOST . (!empty($SERVER_PORT) ? ':' . $SERVER_PORT : '')
399 . substr($PHP_SELF, 0, strrpos($PHP_SELF, '/')+1);
403 $cfgPmaAbsoluteUri = (!empty($HTTPS) ? 'https' : 'http') . '://'
404 . $SERVER_NAME . (!empty($SERVER_PORT) ? ':' . $SERVER_PORT : '')
405 . substr($SCRIPT_NAME, 0, strrpos($SCRIPT_NAME, '/')+1);
406 </pre>
407 </dd>
409 <dt><b>$cfgServers</b> array</dt>
410 <dd>
411 Since version 1.4.2, phpMyAdmin supports the administration of multiple
412 MySQL servers.
413 Therefore, a $cfgServers-array has been added which contains the login
414 information for the different servers. The first
415 <tt>$cfgServers[$i]['host']</tt> contains the hostname of the first
416 server, the second <tt>$cfgServers[$i]['host']</tt> the hostname of the
417 second server, etc.
418 If you have only one server to administer, simply leave free the
419 hostname of the other $cfgServer-entries.
420 <br /><br />
421 </dd>
423 <dt><b>$cfgServers[$i]['host']</b> string</dt>
424 <dd>
425 The hostname of your $i-th MySQL-server. E.g. localhost.
426 <br /><br />
427 </dd>
429 <dt><b>$cfgServers[$i]['port']</b> string</dt>
430 <dd>
431 The port-number of your $i-th MySQL-server. Default is 3306 (leave
432 blank).
433 <br /><br />
434 </dd>
436 <dt><b>$cfgServers[$i]['socket']</b> string</dt>
437 <dd>
438 The path to the socket to use. Leave blank for default.<br />
439 To use the socket feature you must run php 3.0.10 or more.
440 <br /><br />
441 </dd>
443 <dt><b>$cfgServers[$i]['connect_type']</b> string</dt>
444 <dd>
445 What type connection to use with the MySQL server. Your options are
446 'socket' &amp; 'tcp'. It defaults to 'tcp' as that is nearly guarenteed
447 to be available on all MySQL servers, while sockets are not supported
448 on some platforms.
449 <br /><br />
450 </dd>
452 <dt>
453 <b>$cfgServers[$i]['controluser']</b> string<br />
454 <b>$cfgServers[$i]['controlpass']</b> string
455 </dt>
456 <dd>
457 When using http or cookie authentication modes (or 'config'
458 authentication mode since phpMyAdmin 2.2.1), you need to supply the
459 details of a MySQL account that has <tt>SELECT</tt> privilege on the
460 <i>mysql.user (all columns except &quot;Password&quot;)</i>,
461 <i>mysql.db (all columns)</i> &amp; <i>mysql.tables_priv (all columns
462 except &quot;Grantor&quot; &amp; &quot;Timestamp&quot;) </i>tables.
463 This account is used to check what databases the user will see at
464 login.<br />
465 Please see the <a class="navigation" href="#setup">install section</a>
466 on &quot;Using http authentication&quot; for more information.
467 <br /><br />
468 Note that if you try login to phpMyAdmin with this
469 &quot;controluser&quot;, you could get some errors, depending the exact
470 privileges you gave to the &quot;controluser&quot;. phpMyAdmin does not
471 support a direct login with the &quot;controluser&quot;.
472 <br /><br />
473 In versions before 2.2.5, those were called
474 &quot;stduser/stdpass&quot;.
475 <br /><br />
476 </dd>
478 <dt><b>$cfgServers[$i]['auth_type']</b> string <tt>['http'|'cookie'|'config']</tt> </dt>
479 <dd>
480 Whether config or cookie or http authentication should be used for this
481 server.
483 <ul>
484 <li>
485 'config' authentication
486 (<tt>$auth_type&nbsp;=&nbsp;'config'</tt>) is the plain old
487 way: username and password are stored in
488 <i>config.inc.php3</i>.
489 </li>
490 <li>
491 'cookie' authentication mode
492 (<tt>$auth_type&nbsp;=&nbsp;'cookie'</tt>) as introduced in
493 2.2.3 allows you to log in as any valid MySQL user with the
494 help of... cookies. Log name and password are stored in
495 cookies during the session and password is deleted when it
496 ends.
497 </li>
498 <li>
499 'http' authentication (was called 'advanced' in older versions)
500 (<tt>$auth_type&nbsp;=&nbsp;'http'</tt>) as introduced in 1.3.0
501 allows you to log in as any valid MySQL user via HTTP-Auth.
502 </li>
503 </ul><br />
505 Please see the install section on &quot;Using authentication modes&quot;
506 for more information.
507 <br /><br />
508 </dd>
510 <dt>
511 <b>$cfgServers[$i]['user']</b> string<br />
512 <b>$cfgServers[$i]['password']</b> string
513 </dt>
514 <dd>
515 The user/password-pair which phpMyAdmin will use to connect to this
516 MySQL-server. This user/password pair is not needed when http or cookie
517 authentication is used, and should be empty.<br /><br />
518 </dd>
520 <dt><b>$cfgServers[$i]['only_db']</b> string or array</dt>
521 <dd>
522 If set to a(an array of) database name(s), only this(these) database(s)
523 will be shown to the user. Since phpMyAdmin 2.2.1, this/these
524 database(s) name(s) may contain MySQL wilcards characters
525 (&quot;_&quot; and &quot;%&quot;): if you want to use literal instances
526 of these characters, escape them (ie use <tt>'my\_db'</tt> and not
527 <tt>'my_db'</tt>).<br />
528 This setting is an efficient way to lower the server charge since the
529 latter does not need to send MySQL requests to build the available
530 database list. But <font color="#bb0000">it does not replace the
531 privileges rules of the MySQL database server</font>. If set, it just
532 means only these databases will be displayed but
533 <font color="#bb0000">not at all other databases can't be used.</font>
534 <br /><br />
535 </dd>
537 <dt><b>$cfgServers[$i]['verbose']</b> string</dt>
538 <dd>
539 Only useful when using phpMyAdmin with multiple server entries. If set,
540 this string will be displayed instead of the hostname in the pulldown
541 menu on the main page. This can be useful if you want to show only
542 certain databases on your system, for example.
543 <br /><br />
544 </dd>
546 <dt>
547 <b>$cfgServers[$i]['bookmarkdb']</b> string<br />
548 <b>$cfgServers[$i]['bookmarktable']</b> string
549 </dt>
550 <dd>
551 Since release 2.2.0 phpMyAdmin allows to bookmark queries. This can be
552 useful for queries you often run.<br /><br />
554 To use this functionality you have to:
555 <ul>
556 <li>
557 create a table following this scheme:<br />
558 <tt>
559 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE TABLE bookmark (<br />
560 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id int(11) DEFAULT '0' NOT NULL auto_increment,<br />
561 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbase varchar(255) NOT NULL,<br />
562 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user varchar(255) NOT NULL,<br />
563 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label varchar(255) NOT NULL,<br />
564 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query text NOT NULL,<br />
565 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRIMARY KEY (id)<br />
566 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);
567 </tt>
568 </li>
569 <li>
570 then complete the two variables
571 <tt>$cfgServers[$i]['bookmarkdb']</tt> and
572 <tt>$cfgServers[$i]['bookmarktable']</tt> with the database and
573 table names you've choosen so phpMyAdmin will be able to find
574 the bookmarks.
575 </li>
576 </ul><br />
578 Note that <tt>controluser</tt> must have <tt>SELECT</tt>,
579 <tt>INSERT</tt> and <tt>DELETE</tt> privileges on the bookmark table.
580 Here is a query to set up those privileges (using &quot;pma&quot; as
581 the controluser:<br />
582 <tt>GRANT SELECT,INSERT,DELETE ON &lt;bookmarkdb&gt;.&lt;bookmarktable&gt; to 'pma'@localhost;</tt>
583 <br /><br />
584 </dd>
586 <dt>
587 <b>$cfgServers[$i]['relation']</b> string
588 </dt>
589 <dd>
590 Since release 2.2.4 you can describe, in a special 'relation' table,
591 which field is a key in another table (a foreign key). phpMyAdmin
592 currently uses this to
593 <ul>
594 <li>
595 make clickable, when you browse the src table, the data values
596 that point to the dest table;
597 </li>
598 <li>
599 display links on the table properties page, to check referential
600 integrity (display missing foreign keys) for each described key.
601 </li>
602 </ul>
603 <br />
605 The keys can be numeric or character.
606 <br /><br />
608 To use this functionality you have to:
609 <ul>
610 <li>
611 create in the same database a table (for example 'relation')
612 following this scheme:<br />
613 <tt>
614 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE TABLE `relation` (<br />
615 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`src_table` varchar(32) NOT NULL default '',<br />
616 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`src_column` varchar(32) NOT NULL default '',<br />
617 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`dest_table` varchar(32) NOT NULL default '',<br />
618 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`dest_column` varchar(32) NOT NULL default '',<br />
619 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRIMARY KEY (`src_table`,`src_column`)<br />
620 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) TYPE=MyISAM COMMENT='Table Relation';<br />
621 </tt>
622 </li>
623 <li>
624 put the relation table name in
625 <tt>$cfgServers[$i]['relation']</tt>
626 </li>
627 <li>
628 then manually fill the relation table with information about
629 the keys.
630 </li>
631 </ul><br />
632 </dd>
634 <dt><b>$cfgServerDefault</b> integer</dt>
635 <dd>
636 If you have more than one server configured, you can set
637 <tt>$cfgServerDefault</tt> to any one of them to autoconnect to that
638 server when phpMyAdmin is started, or set it to 0 to be given a list of
639 servers without logging in.<br />
640 If you have only one server configured, <tt>$cfgServerDefault</tt> MUST
641 be set to that server.
642 <br /><br />
643 </dd>
645 <dt><b>$cfgOBGzip </b>boolean</dt>
646 <dd>
647 Defines whether to use gzip output buffering for increased
648 speed in HTTP transfers.
649 <br /><br />
650 </dd>
652 <dt><b>$cfgPersistentConnections </b>boolean</dt>
653 <dd>
654 Whether persistent connections should be used or not (mysql_connect or
655 mysql_pconnect).
656 <br /><br />
657 </dd>
659 <dt><b>$cfgExecTimeLimit </b>integer [number of seconds]</dt>
660 <dd>
661 Set the number of seconds a script is allowed to run. If seconds is set
662 to zero, no time limit is imposed.<br />
663 This setting is used while importing/exporting dump files but has no
664 effect when PHP is running in safe mode.
665 <br /><br />
666 </dd>
668 <dt><b>$cfgSkipLockedTables </b>boolean</dt>
669 <dd>
670 Mark used tables and make it possible to show databases with locked
671 tables (since 3.23.30).
672 <br /><br />
673 </dd>
675 <dt><b>$cfgShowSQL </b>boolean</dt>
676 <dd>
677 Defines whether sql-queries generated by phpMyAdmin should be displayed
678 or not.
679 <br /><br />
680 </dd>
682 <dt><b>$cfgAllowUserDropDatabase </b>boolean</dt>
683 <dd>
684 Defines whether normal users (non-administrator) are allowed to
685 delete their own database or not. If set as FALSE, the link &quot;Drop
686 Database&quot; will not be shown, and even a &quot;DROP DATABASE
687 mydatabase&quot; will be rejected. Quite practical for ISP's with many
688 customers.
689 <br /><br />
690 </dd>
692 <dt><b>$cfgConfirm </b>boolean</dt>
693 <dd>
694 Whether a warning (&quot;Are your really sure..&quot;) should be
695 displayed when you're about to loose data.
696 <br /><br />
697 </dd>
699 <dt><b>$cfgShowTooltip </b>boolean</dt>
700 <dd>
701 Defines whether to display table comment as tooltip in left frame or
702 not.
703 <br /><br />
704 </dd>
706 <dt><b>$cfgLeftFrameLight</b> boolean</dt>
707 <dd>
708 Defines whether to use select-based menu and display only the current
709 tables in the left frame (smaller page).
710 <br /><br />
711 </dd>
713 <dt>
714 <b>$cfgShowMysqlInfo </b>boolean<br />
715 <b>$cfgShowMysqlVars </b>boolean<br />
716 <b>$cfgShowPhpInfo </b>boolean<br />
717 <b>$cfgShowChgPassword </b>boolean
718 </dt>
719 <dd>
720 Defines whether to display the &quot;MySQL runtime information&quot;,
721 &quot;MySQL system variables&quot;, &quot;PHP information&quot; and
722 &quot;Change password &quot; links or not for simple users at the
723 starting main (right) frame. This setting does not check MySQL commands
724 entered directly.
725 <br /><br />
727 Please note that to block the usage of phpinfo() in scripts, you
728 have to put this in your php.ini:<br />
729 &nbsp;&nbsp;&nbsp;&nbsp;<tt>disable_functions = phpinfo()</tt>
730 <br /><br />
732 Also note that enabling the &quot;Change password &quot; link has no
733 effect with &quot;config&quot; authentication mode: because of the hard
734 coded password value in the configuration file, end users can't be
735 allowed to change their passwords.
736 <br /><br />
737 </dd>
739 <dt><b>$cfgLoginCookieRecall </b>boolean</dt>
740 <dd>
741 Define whether the previous login should be recalled or not in cookie
742 authentication mode.
743 <br /><br />
744 </dd>
746 <dt><b>$cfgShowStats </b>boolean</dt>
747 <dd>
748 Defines whether to display space usage and statistics about databases
749 and tables or not.<br />
750 Note that statistics requires at least MySQL 3.23.3 and that, at this
751 date, MySQL doesn't return such information for Berkeley DB tables.
752 <br /><br />
753 </dd>
755 <dt><b>$cfgShowBlob </b>boolean</dt>
756 <dd>
757 Defines whether <tt>BLOB</tt> fields are shown when browsing a table's
758 content or not.
759 <br /><br />
760 </dd>
762 <dt><b>$cfgNavigationBarIconic </b>boolean</dt>
763 <dd>
764 Defines whether navigation bar buttons contain text or symbols only.
765 <br /><br />
766 </dd>
768 <dt><b>$cfgShowAll </b>boolean</dt>
769 <dd>
770 Defines whether an user should be displayed a
771 &quot;show all (records)&quot; button in browse mode or not.
772 <br /><br />
773 </dd>
775 <dt><b>$cfgMaxRows </b>integer</dt>
776 <dd>
777 Number of rows displayed when browsing a resultset. If the resultset
778 contains more rows, Previous/Next links will be shown.
779 <br /><br />
780 </dd>
782 <dt><b>$cfgOrder </b>string [<tt>DESC</tt>|<tt>ASC</tt>|<tt>SMART</tt>]</dt>
783 <dd>
784 Defines whether fields are displayed in ascending (<tt>ASC</tt>) order,
785 in descending (<tt>DESC</tt>) order or in a &quot;smart&quot;
786 (<tt>SMART</tt>) order -ie descending order for fields of type TIME,
787 DATE, DATETIME &amp; TIMESTAMP, ascending order else- by default.
788 <br /><br />
789 </dd>
791 <dt><b>$cfgProtectBinary </b>boolean or string</dt>
792 <dd>
793 Defines whether <tt>BLOB</tt> or <tt>BINARY</tt> fields are protected
794 from edition when browsing a table's content or not.
795 Valid values are:<br />
796 - <tt>FALSE</tt> to allow edition of all fields;<br />
797 - <tt>blob</tt> to allow edition of all fields except <tt>BLOBS</tt>;<br />
798 - <tt>all</tt> to disallow edition of all <tt>BINARY</tt> or <tt>BLOB</tt> fields.
799 <br /><br />
800 </dd>
802 <dt><b>$cfgShowFunctionFields </b>boolean</dt>
803 <dd>
804 Defines whether MySQL functions fields should be displayed or not in edit/insert
805 mode.
806 <br /><br />
807 </dd>
809 <dt>
810 <b>$cfgZipDump </b>boolean<br />
811 <b>$cfgGZipDump </b>boolean<br />
812 <b>$cfgBZipDump </b>boolean
813 </dt>
814 <dd>
815 Defines whether to allow the use of zip/gzip/bzip compression when
816 creating a dump file or not.
817 <br /><br />
818 </dd>
820 <dt><b>$cfgManualBaseShort</b> string</dt>
821 <dd>
822 If set to an URL which points to the MySQL documentation (on short
823 pages), appropriate help links are generated.
824 <br /><br />
825 </dd>
827 <dt><b>$cfgDefaultLang </b>string</dt>
828 <dd>
829 Defines the default language to use, if not browser-defined or
830 user-defined.<br />
831 See the <i>select_lang.inc.php3</i> script to know the valid values for
832 this setting.
833 <br /><br />
834 </dd>
836 <dt><b>$cfgLang </b>string</dt>
837 <dd>
838 Force: always use this language (must be defined in the
839 <i>select_lang.inc.php3</i> script).
840 <br /><br />
841 </dd>
843 <dt><b>$cfgLeftWidth </b>integer</dt>
844 <dd>
845 Left frame width in pixel.
846 <br /><br />
847 </dd>
849 <dt>
850 <b>$cfgLeftBgColor </b>string [HTML color]<br />
851 <b>$cfgRightBgColor </b>string [HTML color]
852 </dt>
853 <dd>
854 The background colors (HTML) used for both the frames.
855 <br /><br />
856 </dd>
858 <dt><b>$cfgLeftPointerColor </b>string [HTML color]</dt>
859 <dd>
860 The color (HTML) used for the pointer in the left frame (does not work
861 with NS4).
862 <br /><br />
863 </dd>
865 <dt><b>$cfgBorder </b>integer</dt>
866 <dd>
867 The size of a table's border.
868 <br /><br />
869 </dd>
871 <dt><b>$cfgThBgcolor </b>string [HTML color]</dt>
872 <dd>
873 The color (HTML) used for table headers.
874 <br /><br />
875 </dd>
877 <dt><b>$cfgBgcolorOne </b>string [HTML color]</dt>
878 <dd>
879 The color (HTML) #1 for table rows.
880 <br /><br />
881 </dd>
883 <dt><b>$cfgBgcolorTwo </b>string [HTML color]</dt>
884 <dd>
885 The color (HTML) #2 for table rows.
886 <br /><br />
887 </dd>
889 <dt>
890 <b>$cfgBrowsePointerColor </b>string [HTML color]<br />
891 <b>$cfgBrowseMarkerColor </b>string [HTML color]
892 </dt>
893 <dd>
894 The colors (HTML) uses for the pointer and the marker in browse mode
895 (does not work with NS4).<br />
896 The former feature highlights the row over which your mouse is passing
897 and the latter lets you visually mark/unmark rows by clicking on
898 them.<br />
899 You can disable both of these features by emptying the respective
900 directive.
901 <br /><br />
902 </dd>
904 <dt>
905 <b>$cfgTextareaCols </b>integer<br />
906 <b>$cfgTextareaRows </b>integer
907 </dt>
908 <dd>
909 Number of columns and rows for the textareas.
910 <br /><br />
911 </dd>
913 <dt><b>$cfgLimitChars </b>integer</dt>
914 <dd>
915 Maximal number of Chars showed in a <tt>TEXT</tt> OR a <tt>BLOB</tt>
916 field on browse view. Can be turned off by a toggle button on the
917 browse page.
918 <br /><br />
919 </dd>
921 <dt>
922 <b>$cfgModifyDeleteAtLeft </b>boolean<br />
923 <b>$cfgModifyDeleteAtRight </b>boolean
924 </dt>
925 <dd>
926 Defines the place where modify and delete links would be put when
927 tables contents are displayed (you may have them displayed both at the
928 left and at the right).
929 &quot;Left&quot; and &quot;right&quot; are parsed as &quot;top&quot;
930 and &quot;bottom&quot; with vertical display mode.
931 <br /><br />
932 </dd>
934 <dt><b>$cfgDefaultDisplay </b>string</dt>
935 <dd>
936 There are 2 display modes: horizontal and vertical. Define which one is
937 displayed by default.
938 <br /><br />
939 </dd>
941 <dt><b>$cfgRepeatCells </b>integer</dt>
942 <dd>
943 Repeat the headers every X cells, or 0 to deactivate.
944 <br /><br />
945 </dd>
947 <dt><b>$cfgColumnTypes </b>array</dt>
948 <dd>
949 All possible types of a MySQL column. In most cases you don't need to
950 edit this.
951 <br /><br />
952 </dd>
954 <dt><b>$cfgAttributeTypes </b>array</dt>
955 <dd>
956 Possible attributes for fields. In most cases you don't need to edit
957 this.
958 </dd>
960 <dt><b>$cfgFunctions </b>array</dt>
961 <dd>
962 A list of functions MySQL supports. In most cases you don't need to
963 edit this.
964 <br /><br />
965 </dd>
966 </dl>
969 <!-- FAQ -->
970 <a name="faq"></a><br />
971 <hr noshade="noshade" width="100%" />
972 <font size="+1">
973 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
974 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
975 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
976 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
977 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
978 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
979 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
980 <a class="navigation2" href="#credits">Credits</a>
981 </font>
982 <hr noshade="noshade" width="100%" />
984 <h2>FAQ - Frequently Asked Questions</h2>
985 <a class="navigation" href="#faqserver">Server</a> &nbsp;-&nbsp;
986 <a class="navigation" href="#faqconfig">Configuration</a> &nbsp;-&nbsp;
987 <a class="navigation" href="#faqlimitations">Limitations</a> &nbsp;-&nbsp;
988 <a class="navigation" href="#faqmultiuser">Multi-user</a> &nbsp;-&nbsp;
989 <a class="navigation" href="#faqbrowsers">Browsers</a> &nbsp;-&nbsp;
990 <a class="navigation" href="#faqusing">Usage tips</a> &nbsp;-&nbsp;
991 <a class="navigation" href="#faqproject">Project</a>
994 <a name="faqserver"></a>
995 <h3>[Server]</h3>
997 <b>I'm running php 4+ and my server is crashing each time a specific action
998 is required or phpMyAdmin sends a blank page or a page full of cryptic
999 characters to my browser, what can I do?</b>
1000 <br />
1001 There are some known php bugs with output buffering and compression.<br />
1002 Try to set the <tt>$cfgOBGzip</tt> directive to <tt>FALSE</tt> in your
1003 <i>config.inc.php or .php3</i> file and the
1004 <tt>zlib.output_compression</tt> directive to <tt>Off</tt> in your php
1005 configuration file.<br />
1006 Furthermore, we know about such problems connected to php 4.2.0 (tested
1007 with php 4.2.0 RC1 to RC4) together with MS Internet Explorer.
1008 Unfortunatly, the only solution for this bug seems to be switching back to
1009 an earlier php version.
1010 </p>
1013 <b>My Apache server crashes when using phpMyAdmin.</b>
1014 <br />
1015 You should first try the latest versions of Apache (and possibly MySQL).
1016 <br />
1017 See also the other FAQ entry about php bugs with output buffering.
1018 <br />
1019 If your server keeps crashing, please ask for help in the various
1020 Apache support groups.
1021 </p>
1024 <b>Using phpMyAdmin on IIS, I'm displayed the error message: &quot;The
1025 specified CGI application misbehaved by not returning a complete set of
1026 HTTP headers....&quot;</b>
1027 <br />
1028 You just forgot to read the <i>install.txt</i> file from the php
1029 distribution. Have a look at the last message in this
1030 <a href="http://bugs.php.net/bug.php?id=12061">bug report</a> from the
1031 official php bug database.
1032 </p>
1035 <b>Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages
1036 with the http or advanced authentication mode.</b>
1037 <br />
1038 This is a known problem with the php ISAPI filter: it's not so stable. For
1039 some more information and complete testings see the messages posted by
1040 André B. aka &quot;djdeluxe76&quot; in
1041 <a href="http://www.phpwizard.net/phorum/read.php?f=1&amp;i=6624&amp;t=6300">this&nbsp;thread</a>
1042 from the phpWizard forum.<br />
1043 Please use instead the cookie authentication mode.
1044 </p>
1047 <b>I can't use phpMyAdmin on PWS: nothing is displayed!</b>
1048 <br />
1049 This seems to be a PWS bug. Filippo Simoncini found a workaroud (at this
1050 time there is no better fix): remove or comment the <tt>DOCTYPE</tt>
1051 declarations (3 lines) from the scripts <i>header.inc.php3</i>,
1052 <i>index.php3</i>, <i>left.php3</i> and <i>libraries/common.lib.php3</i>.
1053 </p>
1056 <b>How can I GZip or Bzip a dump or a CSV export. It seems to not work?</b>
1057 <br />
1058 These features are based on the <tt>gzencode()</tt> and
1059 <tt>bzcompress()</tt> php functions to be more independent of the platform
1060 (Unix/Windows, Safe Mode or not, and so on).
1061 So, you must have PHP4&nbsp;>=&nbsp;4.0.4 and Zlib/Bzip2 support
1062 (<tt>--with-zlib</tt> and <tt>--with-bz2</tt>).<br />
1063 We faced php crashes when trying to download a dump with MS Internet
1064 Explorer when phpMyAdmin is run with php 4.2.0 (tested with php 4.2.0 RC1
1065 to RC4). In this case you should switch back to an earlier php version.
1066 </p>
1069 <b>I cannot insert a text file in a table, and I get an error about safe
1070 mode being in effect.</b>
1071 <br />
1072 Your uploaded file is saved by PHP in the &quot;upload dir&quot;, as
1073 defined in <i>php.ini</i> by the variable <tt>upload_tmp_dir</tt> (usually
1074 the system default is <i>/tmp</i>).
1075 <br />
1076 We recommend the following setup for Apache servers running in safe mode,
1077 to enable uploads of files while being reasonably secure:
1078 </p>
1079 <ul>
1080 <li>create a separate directory for uploads:
1081 <tt>mkdir /tmp/php</tt></li>
1082 <li>give ownership to the Apache server's user.group:
1083 <tt>chown apache.apache /tmp/php</tt></li>
1084 <li>give proper permission: <tt>chmod 600 /tmp/php</tt></li>
1085 <li>put <tt>upload_tmp_dir = /tmp/php</tt> in php.ini</li>
1086 <li>restart Apache</li>
1087 </ul>
1090 <b>I'm having troubles when uploading files. In general file uploads don't
1091 work on my system and uploaded files have a <tt>Content-Type:</tt> header
1092 in the first line.</b>
1093 <br />
1094 It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat 7.0
1095 and you updated your php rpm to php-4.0.4pl1-3.i386.rpm, didn't you?
1096 <br />
1097 So the problem is that this package has a serious bug that was corrected
1098 ages ago in php (2001-01-28: see
1099 <a href="http://www.php.net/bugs.php?id=8966">php's bug tracking system</a>
1100 for more details). The problem is that the bugged package is still
1101 available though it was corrected (see
1102 <a href="http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=24933">redhat's bugzilla</a>
1103 for more details).
1104 <br />
1105 So please download
1106 <a href="http://www.redhat.com/swr/i386/php-4.0.4pl1-9.i386.html">the fixed package (4.0.4pl1-9)</a>
1107 and the problem should go away.
1108 <br />
1109 And that fixes the \r\n problem with file uploads!
1110 </p>
1113 <b>I'm having troubles when uploading files with phpMyAdmin running on a
1114 secure server. My browser is Internet Explorer and I'm using the Apache
1115 server.</b>
1116 <br />
1117 As suggested by &quot;Rob M&quot; in the phpWizard forum, add this line to
1118 your <i>httpd.conf</i>:<br />
1119 &nbsp;&nbsp;&nbsp;&nbsp;<tt>SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown</tt><br />
1120 It seems to clear up many problems between IE and SSL.
1121 </p>
1124 <b>I get an 'open_basedir restriction' while uploading a file from the
1125 query box.</b>
1126 <br />
1127 Since version 2.2.4, phpMyAdmin supports servers with open_basedir
1128 restrictions. Assuming that the restriction allows you to open files in the
1129 current directory ('.'), all you have to do is create a 'tmp' directory
1130 under the phpMyAdmin install directory, with permissions 777 and the same
1131 owner as the owner of your phpMyAdmin directory. The uploaded files will
1132 be moved there, and after execution of your SQL commands, removed.
1133 </p>
1136 <b>I have lost my MySQL root password, what can I do?</b>
1137 <br />
1138 The MySql manual explains how to
1139 <a href="http://www.mysql.com/doc/R/e/Resetting_permissions.html">
1140 reset the permissions</a>.
1141 </p>
1144 <b>I get an error 'No SQL query' when trying to execute a bookmark.</b>
1145 <br />
1146 If PHP does not have read/write access to its <tt>upload_tmp_dir</tt>, it
1147 cannot access the uploaded query.
1148 </p>
1151 <b>I get an error 'No SQL query' when trying to submit a query from the
1152 convenient text area.</b>
1153 <br />
1154 Check the <tt>post_max_size</tt> directive from your php configuration file
1155 and try to increase it.
1156 </p>
1159 <b>I have problems with <i>mysql.user</i> field names.</b>
1160 <br />
1161 In older MySQL versions, the <tt>User</tt> and <tt>Password</tt> fields
1162 were named <tt>user</tt> and <tt>password</tt>. Please modify your field
1163 names to align with current standards.
1164 </p>
1166 <b>I cannot upload big dump files.</b>
1167 <br />
1168 The first things to check (or ask your host provider to check) are the
1169 values of <tt>upload_max_filesize</tt>, <tt>memory_limit</tt> and
1170 <tt>post_max_size</tt> in the <i>php.ini</i> configuration file.
1171 <br />
1172 All of these three settings limit the maximum size of data that can be
1173 submitted and handled by php.
1174 </p>
1177 <b>Does phpMyAdmin support MySQL&nbsp;4?</b>
1178 <br />
1179 MySQL&nbsp;4 is not yet fully supported by phpMyAdmin.<br />
1180 Because of MySQL&nbsp;4's backwards compatibility you can use phpMyAdmin
1181 for administering MySQL&nbsp;4 servers, but phpMyAdmin does not yet
1182 support its new features. Please notice that in this case it is recommended
1183 to use php&nbsp;&gt;=&nbsp;4.1 since older versions of php are not
1184 compatible to MySQL&nbsp;4.<br />
1185 Furthermore, several users reported problems with phpMyAdmin related to
1186 bugs in MySQL&nbsp;4. <font color="#bb0000">MySQL&nbsp;4 is still an alpha
1187 release and should be used for test purposes only!</font>
1188 </p>
1191 <b>I'm running MySQL&nbsp;4.0.1 on a Windows&nbsp;NT machine. Each time I
1192 create a table the table name is changed to lowercase.</b>
1193 <br />
1194 This seems to be a bug of MySQL&nbsp;4.0.1 because it also appears when
1195 using the MySQL commandline. Currently we only know about its appearance on
1196 Windows&nbsp;NT systems, but it is possible that it appears on other
1197 systems, too.<br />
1198 If you encounter this bug together with another OS and/or MySQL version or
1199 you know how to work around it, please post a message into
1200 <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=540671&group_id=23067&atid=377408"
1201 target="_blank">our bug tracker</a> at SourceForge.
1202 </p>
1205 <a name="faqconfig"></a>
1206 <h3>[Configuration]</h3>
1209 <b>The error message &quot;Warning: Cannot add header information - headers
1210 already sent by ...&quot; is displayed, what's the problem?</b>
1211 <br />
1212 Edit your <i>config.inc.php or .php3</i> file and ensure there is nothing
1213 (ie no blank lines, no spaces, no characters...) neither before the
1214 <tt>&lt;?php</tt> tag at the beginning, neither after the <tt>?&gt;</tt>
1215 tag at the end.
1216 </p>
1219 <b>phpMyAdmin can't connect to MySQL. What's wrong?</b>
1220 <br />
1221 Either there is an error with your PHP setup or your username/password is
1222 wrong. Try to make a small script which uses mysql_connect and see if it
1223 works. If it doesn't, it may be you haven't even compiled MySQL support
1224 into PHP.
1225 </p>
1228 <b>The error message &quot;Warning: MySQL Connection Failed: Can't connect
1229 to local MySQL server through socket '/tmp/mysql.sock' (111)...&quot;) is
1230 displayed. What can I do?</b>
1231 <br /><br />
1232 For RedHat users, Harald Legner suggests this on the mailing list:
1233 <br /><br />
1234 On my RedHat-Box the socket of mysql is <i>/var/lib/mysql/mysql.sock</i>.
1235 In your php.ini you will find a line
1236 <br />
1237 &nbsp;&nbsp;&nbsp;&nbsp;<tt>mysql.default_socket = /tmp/mysql.sock</tt>
1238 <br />
1239 change it to
1240 <br />
1241 &nbsp;&nbsp;&nbsp;&nbsp;<tt>mysql.default_socket = /var/lib/mysql/mysql.sock</tt>
1242 <br />
1243 Then restart apache and it will work.
1244 <br /><br />
1245 Here is a fix suggested by Brad Ummer in the
1246 <a class="navigation" href="http://www.phpwizard.net/phorum/list.php?f=1" target="_blank">
1247 phpwizard forum</a>:
1248 </p>
1249 <ul>
1250 <li>
1251 First, you need to determine what socket is being used by MySQL.
1252 <br />
1253 To do this, telnet to your server and go to the MySQL bin directory. In
1254 this directory there should be a file named <i>mysqladmin</i>. Type
1255 <tt>./mysqladmin variables</tt>, and this should give you a bunch of
1256 info about your MySQL server, including the socket
1257 (<i>/tmp/mysql.sock</i>, for example).
1258 </li>
1259 <li>
1260 Then, you need to tell PHP to use this socket.<br />Assuming you are
1261 using PHP 3.0.10 or better, you can specify the socket to use when you
1262 open the connection. To do this in phpMyAdmin, you need to complete the
1263 socket information in the config.inc.php3.<br />
1264 For example:
1265 <tt>$cfgServers[$i]['socket']&nbsp;=&nbsp;'/tmp/mysql.sock';</tt>
1266 </li>
1267 </ul>
1269 Have also a look at the
1270 <a class="navigation" href="http://www.mysql.com/doc/C/a/Can_not_connect_to_server.html" target="_blank">
1271 corresponding section of the MySQL documentation</a>.
1272 </p>
1275 <b>Nothing is displayed by my browser when I try to run phpMyAdmin, what
1276 can I do?</b>
1277 <br />
1278 Try to set the <tt>$cfgOBGZip</tt> directive to <tt>FALSE</tt> in the
1279 phpMyAdmin configuration file. It helps sometime.<br />
1280 Also have a look at your php version number: if it contains
1281 &quot;4.0b...&quot; it means you're running a beta version of PHP. That's
1282 not a so good idea, please upgrade to a plain revision.
1283 </p>
1286 <b>Each time I want to insert or change a record or drop a database or a
1287 table, an error 404 (page not found) is displayed or, with http or
1288 cookie authentication, I'm asked to login again. What's wrong?</b>
1289 <br />
1290 Check the value you set for the <tt>$cfgPmaAbsoluteUri</tt> directive in
1291 the phpMyAdmin configuration file.
1292 </p>
1294 <a name="faqlimitations"></a>
1295 <h3>[Known limitations]</h3>
1296 <a name="login_bug"></a>
1298 <b>When using http authentication, an user who logged out can not relog
1299 in with the same nick.</b>
1300 <br />
1301 This is related to the authentication mechanism (protocol) used by
1302 phpMyAdmin. We plan to change it as soon as we may find enough free time
1303 to do it, but you can bypass this problem: just close all the opened
1304 browser windows and then go back to phpMyAdmin. You should be able to
1305 logs in again.
1306 </p>
1309 <b>When dumping a large table in compressed mode, I get a memory limit
1310 error or a time limit error.</b>
1311 <br />
1312 As of version 2.2.4, we build the compressed dump in memory, so large
1313 tables dumps may hang. The only alternative we can think about (using
1314 system calls to mysqldump then gzip or bzip2) would not be applicable in
1315 environments where PHP is in safe mode: access to system programs is
1316 is limited by the system administrator, and time limit is enforced.
1317 </p>
1319 <a name="faqmultiuser"></a>
1320 <h3>[ISPs, multi-user installations ]</h3>
1322 <b>I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to
1323 install it for each customer?</b>
1324 <br />
1325 Since version 2.0.3, you can setup a central copy of phpMyAdmin for all
1326 your users. The development of this feature was kindly sponsored by
1327 NetCologne GmbH.
1328 This requires a properly setup MySQL user management and phpMyAdmin
1329 http authentication. See the install section on
1330 &quot;Using http authentication&quot;.
1331 </p>
1334 <b>What's the preferred way of making phpMyAdmin secure against evil
1335 access?</b>
1336 <br />
1337 This depends on your system.<br />
1338 If you're running a server which cannot be accessed by other people, it's
1339 sufficient to use the directory protection bundled with your webserver
1340 (with Apache you can use <i>.htaccess</i> files, for example).<br />
1341 If other people have telnet access to your server, you should use
1342 phpMyAdmin's http authentication feature.
1343 <br /><br />
1344 Suggestions:
1345 </p>
1346 <ul>
1347 <li>
1348 Your <i>config.inc.php3</i> file should be <tt>chmod 660</tt>.
1349 </li>
1350 <li>
1351 All your phpMyAdmin files should be chown phpmy.apache, where phpmy
1352 is a user whose password is only known to you, and apache is the
1353 group under which Apache runs.
1354 </li>
1355 <li>
1356 You should use PHP safe mode, to protect from other users that try
1357 to include your <i>config.inc.php3</i> in their scripts.
1358 </li>
1359 </ul>
1362 <b>I get errors about not being able to include a file in <i>/lang</i>
1363 or in <i>/libraries</i>.</b>
1364 <br />
1365 Check <i>php.ini</i>, or ask your sysadmin to check it. The
1366 <tt>include_path</tt> must contain &quot;.&quot; somewhere in it, and
1367 <tt>open_basedir</tt>, if used, must contain &quot;.&quot; and
1368 &quot;./lang&quot; to allow normal operation of phpMyAdmin.
1369 </p>
1371 <b>phpMyAdmin always gives &quot;Access denied&quot; when using http
1372 authentication.</b><br />
1373 This could happen for several reasons:
1374 </p>
1375 <ul>
1376 <li>
1377 <tt>$cfgServers[$i]['controluser']</tt> and/or
1378 <tt>$cfgServers[$i]['controlpass']</tt> are wrong.
1379 </li>
1380 <li>
1381 The username/password you specify in the login-dialog are invalid.
1382 </li>
1383 <li>
1384 You have already setup a security mechanism for the
1385 phpMyAdmin-directory, eg. a .htaccess file. This would interfere with
1386 phpMyAdmin's authentication, so remove it.
1387 </li>
1388 </ul>
1391 <b>Is it possible to let users create their own databases?</b>
1392 <br />
1393 Starting with 2.2.5, in the user management page, you can enter a wildcard
1394 database name for a user, and put the privileges you want. For example,
1395 adding <tt>SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER</tt>
1396 would let a user create/manage his/her database(s).
1397 </p>
1399 <a name="faqbrowsers"></a>
1400 <h3>[Browsers or client OS]</h3>
1402 <b>I get an out of memory error, and my controls are non-functional, when
1403 trying to create a table with more than 14 fields.</b>
1404 <br />
1405 We could reproduce this problem only under Win98/98SE. Testing under
1406 WinNT4 or Win2K, we could easily create more than 60 fields.
1407 <br />
1408 A workaround is to create a smaller number of fields, then come back to
1409 your table properties and add the other fields.
1410 </p>
1413 <b>With Xitami 2.5b4, phpMyAdmin won't process form fields.</b>
1414 <br />
1415 This is not a phpMyAdmin problem but a Xitami known bug: you'll face it
1416 with each script/website that use forms.<br />
1417 Upgrade or downgrade your Xitami server.
1418 </p>
1421 <b>I have problems dumping tables with Konqueror (phpMyAdmin 2.2.2)</b>
1422 <br />
1423 With Konqueror 2.1.1: plain dumps, zip and gzip dumps work ok, except that
1424 the proposed file name for the dump is always 'tbl_dump.php'. Bzip2 dumps
1425 don't seem to work.<br />
1427 With Konqueror 2.2.1: plain dumps work; zip dumps are placed into
1428 the user's temporary directory, so they must be moved before closing
1429 Konqueror, or else they disappear. Gzip dumps give an error message.<br />
1431 Testing needs to be done for Konqueror 2.2.2.<br />
1432 </p>
1435 <b>I can't use the cookie authentication mode because Internet Explorer
1436 never stores the cookies.</b>
1437 <br />
1438 MS Internet Explorer seems to be really buggy about cookies, at least till
1439 version 6. And thanks to Andrew Zivolup we've traced also a php 4.1.1 bug
1440 in this area!
1441 <br />
1442 Then, If you're running php 4.1.1, try to upgrade or downgrade... it may
1443 works!
1444 </p>
1447 <b>In Internet Explorer 5.0, I get Javascript errors when browsing my
1448 rows.</b>
1449 <br />
1450 Upgrade to at least Internet Explorer 5.5SP2.<br />
1451 </p>
1454 <b>In Internet Explorer 5.0, 5.5 or 6.0, I get an error when trying to
1455 modify a row in a table with many fields, or with a text field.</b>
1456 <br />
1457 Your table neither have a primary key nor an unique one, so we must use a
1458 long URL to identify this row. There is a limit on the lenght of the URL in
1459 those browsers, and this not happen in Netscape, for example. The
1460 workaround is to create a primary or unique key, or use another browser.
1461 <br />
1462 </p>
1465 <b>I refresh (reload) my browser, and come back to the welcome page.</b>
1466 <br />
1467 Some browsers support right-clicking into the frame you want to refresh,
1468 just do this in the right frame.<br />
1469 </p>
1472 <b>With Mozilla 0.9.7 I have problems sending a query modified in the query
1473 box.</b>
1474 <br />
1475 Looks like a Mozilla bug: 0.9.6 was ok. We will keep an eye on future
1476 Mozilla versions.<br />
1477 </p>
1480 <a name="faqusing"></a>
1481 <h3>[Using phpMyAdmin]</h3>
1483 <b>I can't insert new rows into a table - MySQL brings up a SQL-error.</b>
1484 <br />
1485 Examine the SQL error with care. I've found that many programmers
1486 specifying a wrong field-type.<br />
1487 Common errors include:
1488 </p>
1489 <ul>
1490 <li>Using <tt>VARCHAR</tt> without a size argument</li>
1491 <li>Using <tt>TEXT or</tt> BLOB with a size argument</li>
1492 </ul>
1494 Also, look at the syntax chapter in the MySQL manual to confirm that your
1495 syntax is correct.
1496 </p>
1498 <b>When I create a table, I click the Index checkbox for 2 fields and
1499 phpMyAdmin generates only one index with those 2 fields.</b>
1500 <br />
1501 In phpMyAdmin 2.2.0 and 2.2.1, this is the way to create a multi-fields
1502 index. If you want two indexes, create the first one when creating the
1503 table, save, then display the table properties and click the Index link to
1504 create the other index.
1505 </p>
1508 <b>How can I insert a null value into my table?</b>
1509 <br />
1510 Since version 2.2.3, you have a checkbox for each field that can be null.
1511 Before 2.2.3, you had to enter &quot;null&quot;, without the quotes, as the
1512 field's value.
1513 </p>
1516 <b>How can I backup my database or table?</b>
1517 <br />
1518 Click on a database or table name in the left frame, the properties will be
1519 displayed. Then go to the Dump section, you can dump the structure, the
1520 data, or both. This will generate standard SQL statements that can be used
1521 to recreate your database/table.
1522 <br /><br />
1523 You will need to choose &quot;Save as file&quot;, so that phpMyAdmin can
1524 transmit the resulting dump to your station. Depending on your PHP
1525 configuration, you will see options to compress the dump. See also the
1526 <tt>$cfgExecTimeLimit</tt> configuration variable.
1527 <br /><br />
1528 For additional help on this subject, look for the word &quot;dump&quot; in
1529 this document.
1530 </p>
1533 <b>How can I restore (upload) my database or table using a dump?</b>
1534 <br />
1535 Click on a database name in the left frame, the properties will be
1536 displayed. Then in the &quot;Run SQL query&quot; section, type in your local
1537 dump filename, or use the Browse button. Then click Go.
1538 <br /><br />
1539 For additional help on this subject, look for the word &quot;upload&quot; in
1540 this document.
1541 </p>
1543 <a name="faqproject"></a>
1544 <h3>[phpMyAdmin project]</h3>
1546 <b>I have found a bug. How do I inform developers?</b>
1547 <br />
1548 Our Bug Tracker is located at <a href="http://sourceforge.net/projects/phpmyadmin/">
1549 http://sourceforge.net/projects/phpmyadmin/</a> under the Bugs section.
1550 <br /><br />
1551 But please first discuss your bug with other users:
1552 <br />
1553 <a href="http://sourceforge.net/projects/phpmyadmin/">
1554 http://sourceforge.net/projects/phpmyadmin/</a> (and choose Forums)
1555 </p>
1558 <b>I want to translate the messages to a new language or upgrade an
1559 existing language, where do I start?</b>
1560 <br />
1561 Always use the current cvs version of your language file.
1562 For a new language, start from english.inc.php3. If you don't know how to
1563 get the cvs version, please ask one of the developers.
1564 <br />
1565 You can then put your translations, as a zip file to avoid losing special
1566 characters, on the sourceforge.net translation tracker.
1567 <br />
1568 It would be a good idea to subscribe to the phpmyadmin-translators mailing
1569 list, because this is where we ask for translations of new messages.
1570 <br />
1571 </p>
1574 <b>I would like to help out with the development of phpMyAdmin. How should
1575 I proceed?</b>
1576 <br />
1577 The following method is preferred for new developers:
1578 </p>
1579 <ul>
1580 <li>
1581 fetch the current CVS tree over anonymous CVS:<br />
1582 <tt>cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login</tt><br />
1583 [Password: simply press the Enter key]<br />
1584 <tt>cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin</tt><br />
1585 [This will create a new sub-directory named phpMyAdmin]
1586 </li>
1587 <li>
1588 add your stuff
1589 </li>
1590 <li>
1591 put the modified files (tar'ed and gzip'ed) inside the patch tracker of
1593 <a class="navigation" href="https://sourceforge.net/projects/phpmyadmin/" target="_blank">phpMyAdmin SourceForge account</a>.
1594 </li>
1595 </ul>
1597 Write access to the CVS tree is granted only to experienced developers who
1598 have already contributed something useful to phpMyAdmin.<br />
1599 Also, have a look at the <a class="navigation" href="#developers">Developers section</a>.
1600 </p>
1604 <!-- DEVELOPERS -->
1605 <a name="developers"></a><br />
1606 <hr noshade="noshade" width="100%" />
1607 <font size="+1">
1608 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
1609 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
1610 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
1611 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
1612 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
1613 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
1614 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
1615 <a class="navigation2" href="#credits">Credits</a>
1616 </font>
1617 <hr noshade="noshade" width="100%" />
1619 <h2>Developers Information</h2>
1622 phpMyAdmin is Open Source, so you're invited to contribute to it. Many
1623 great features have been written by other people and you too can help to
1624 make phpMyAdmin a useful tool.
1625 </p>
1628 If you're planning to contribute source, please read the following
1629 information:
1630 </p>
1631 <ul>
1632 <li>
1633 All files include <i>header.inc.php3</i> (layout),
1634 <i>libraries/common.lib.php3</i> (common functions) and
1635 <i>config.inc.php3</i>.
1636 <br />
1637 All configuration data belongs in <i>config.inc.php3</i>. Please keep
1638 it free from other code.
1639 <br />
1640 Commonly used functions should be added to
1641 <i>libraries/common.lib.php3</i> and more specific ones may be added
1642 within a library stored into the <i>libraries</i> sub-directory.
1643 </li>
1644 <li>
1645 Obviously, you're free to use whatever coding style you want. But
1646 please try to keep your code as simple as possible: beginners are
1647 using phpMyAdmin as an example application.<br />
1648 As far as possible, we want the scripts to be XHTML1.0 and CSS2
1649 compliant on one hand, they fit
1650 <a class="navigation" href="http://pear.php.net/" target="_blank">PEAR coding standards</a>
1651 on the other hand. Please pay attention to this.
1652 </li>
1653 <li>
1654 Please try to keep up the file-naming conventions. Table-related stuff
1655 goes to <i>tbl_*.php3</i>, db-related code to <i>db_*.php3</i> and so
1657 </li>
1658 <li>
1659 Please don't use verbose strings in your code, instead add the string
1660 (at least) to <i>english.inc.php3</i> and print() it out.
1661 </li>
1662 <li>
1663 If you want to be really helpful, write an entry for the ChangeLog.
1664 </li>
1665 </ul>
1668 IMPORTANT: With 1.4.1, development has switched to CVS. The following
1669 method is preferred for new developers:
1670 </p>
1671 <ul>
1672 <li>
1673 fetch the current CVS tree over anonymous CVS:<br />
1674 <tt>cvs -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin login</tt><br />
1675 [Password: simply press the Enter key]<br />
1676 <tt>cvs -z3 -d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin</tt><br />
1677 [This will create a new sub-directory named phpMyAdmin]
1678 </li>
1679 <li>
1680 add your stuff
1681 </li>
1682 <li>
1683 put the modified files (tar'ed and gzip'ed) inside the patch tracker
1684 of the phpMyAdmin SourceForge account
1685 (<a class="navigation" href="http://sourceforge.net/projects/phpmyadmin/" target="_blank">http://sourceforge.net/projects/phpmyadmin/</a>)
1686 </li>
1687 </ul>
1689 Write access to the CVS tree is granted only to developers who have already
1690 contributed something useful to phpMyAdmin. If you're interested in that,
1691 please contact us using the phpmyadmin-devel mailing list.
1692 </p>
1695 <!-- CREDITS -->
1696 <a name="credits"></a><br />
1697 <hr noshade="noshade" width="100%" />
1698 <font size="+1">
1699 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
1700 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
1701 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
1702 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
1703 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
1704 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
1705 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
1706 <a class="navigation2" href="#credits">Credits</a>
1707 </font>
1708 <hr noshade="noshade" width="100%" />
1710 <h2>Credits</h2>
1712 <pre>
1714 phpMyAdmin - Credits
1715 ====================
1717 CREDITS, in chronological order
1718 -------------------------------
1720 [tr] - Tobias Ratschiller &lt;tobias_at_phpwizard.net&gt;
1721 * creator of the phpmyadmin project
1722 * maintainer from 1998 to summer 2000
1724 [md] - Marc Delisle &lt;DelislMa_at_CollegeSherbrooke.qc.ca&gt;
1725 * multi-language version
1726 * various fixes and improvements
1728 [om] - Olivier Müller &lt;om_at_omnis.ch&gt;
1729 * started SourceForge phpMyAdmin project in March 2001
1730 * sync'ed different existing CVS trees with new features and bugfixes
1731 * multi-language improvements, dynamic language selection
1732 * current project maintainer, with Marc and Loic
1734 [lc] - Loïc Chapeaux &lt;lolo_at_phpheaven.net&gt;
1735 * rewrote and optimized javascript, DHTML and DOM stuff
1736 * rewrote the scripts so they fit the PEAR coding standards and
1737 generate XHTML1.0 and CSS2 compliant codes
1738 * improved the language detection system
1739 * many bugfixes and improvements
1741 [rj] - Robin Johnson &lt;robbat2_at_users.sourceforge.net&gt;
1742 * database maintence controls
1743 * table type code
1745 [af] - Armel Fauveau &lt;armel.fauveau_at_globalis-ms.com&gt;
1746 * bookmarks feature
1747 * multiple dump feature
1748 * gzip dump feature
1749 * zip dump feature
1751 [gl] - Geert Lund &lt;glund_at_silversoft.dk&gt;
1752 * various fixes
1753 * moderator of the phpMyAdmin users forum at phpwizard.net
1755 [kc] - Korakot Chaovavanich &lt;korakot_at_iname.com&gt;
1756 * &quot;insert as new row&quot; feature
1758 [pk] - Pete Kelly &lt;webmaster_at_trafficg.com&gt;
1759 * rewrote and fix dump code
1760 * bugfixes
1762 [sa] - Steve Alberty &lt;alberty_at_neptunlabs.de&gt;
1763 * rewrote dump code for PHP4
1764 * mySQL table statistics
1765 * bugfixes
1767 [bg] - Benjamin Gandon &lt;gandon_at_isia.cma.fr&gt;
1768 * main author of the version 2.1.0.1
1769 * bugfixes
1771 [at] - Alexander M. Turek &lt;rabus_at_bugfixes.info&gt;
1772 * various small features and fixes
1773 * German language file updates
1776 Thanks to those guy who send us some major improvements to merge into the
1777 code since version 2.1.0:
1778 - Michal Cihar &lt;nijel at users.sourceforge.net&gt; who implemented the
1779 enhanced index creation/display feature.
1780 - Christophe Gesché from the "MySQL Form Generator for PHPMyAdmin"
1781 (http://sourceforge.net/projects/phpmysqlformgen/) who suggested the patch
1782 for multiple table printviews.
1783 - Garvin Hicking &lt;hicking at faktor-e.de&gt; who builds the patch for
1784 vertical display of table rows.
1785 - Yukihiro Kawada &lt;kawada at den.fujifilm.co.jp&gt; for the japanese kanji
1786 encoding conversion feature.
1787 - Piotr Roszatycki &lt;d3xter at users.sourceforge.net&gt; and Dan Wilson, for
1788 the Cookie authentication mode.
1789 - Axel Sander &lt;n8falke at users.sourceforge.net&gt; for the table
1790 relation-links feature.
1792 And also to the following people who have contributed minor changes,
1793 enhancements, bugfixes or support for a new language since version 2.1.0:
1794 Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita,
1795 Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow,
1796 Kristof Hamann, Thomas Kläger, Lubos Klokner, Martin Marconcini,
1797 Girish Nair, David Nordenberg, Bernard M. Piller, Laurent Haas,
1798 &quot;Sakamoto&quot;, Yuval Sarna, www.securereality.com.au,
1799 Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky, Rachim Tamsjadi,
1800 Luís V., Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay,
1801 Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael Winningham.
1804 Original Credits of Version 2.1.0
1805 ---------------------------------
1807 This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea
1808 to create a web-based interface to MySQL using PHP3. Although I have not
1809 used any of his source-code, there are some concepts I've borrowed from
1810 him. phpMyAdmin was created because Peter told me he wasn't going to
1811 further develop his (great) tool.
1812 Thanks go to
1813 - Amalesh Kempf &lt;ak-lsml_at_living-source.com&gt; who contributed the
1814 code for the check when dropping a table or database. He also suggested
1815 that you should be able to specify the primary key on tbl_create.php3. To
1816 version 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as
1817 well as a bug-report. Plus many smaller improvements.
1818 - Jan Legenhausen &lt;jan_at_nrw.net&gt;: He made many of the changes that
1819 were introduced in 1.3.0 (including quite significant ones like the
1820 authentication). For 1.4.1 he enhanced the table-dump feature. Plus
1821 bug-fixes and help.
1822 - Marc Delisle &lt;DelislMa_at_CollegeSherbrooke.qc.ca&gt; made phpMyAdmin
1823 language-independent by outsourcing the strings to a separate file. He
1824 also contributed the French translation.
1825 - Alexandr Bravo &lt;abravo_at_hq.admiral.ru&gt; who contributed
1826 tbl_select.php3, a feature to display only some fields from a table.
1827 - Chris Jackson &lt;chrisj_at_ctel.net&gt; added support for MySQL
1828 functions in tbl_change.php3. He also added the
1829 &quot;Query by Example&quot; feature in 2.0.
1830 - Dave Walton &lt;walton_at_nordicdms.com&gt; added support for multiple
1831 servers and is a regular contributor for bug-fixes.
1832 - Gabriel Ash &lt;ga244_at_is8.nyu.edu&gt; contributed the random access
1833 features for 2.0.6.
1834 The following people have contributed minor changes, enhancements, bugfixes
1835 or support for a new language:
1836 Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann,
1837 Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov,
1838 Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns,
1839 G. Wieggers.
1841 And thanks to everyone else who sent me email with suggestions, bug-reports
1842 and or just some feedback.
1843 </pre>
1847 <a name="bottom"></a><br />
1848 <hr noshade="noshade" width="100%" />
1849 <font size="+1">
1850 <a class="navigation2" href="#top">Top</a> &nbsp;-&nbsp;
1851 <a class="navigation2" href="#require">Requirements</a> &nbsp;-&nbsp;
1852 <a class="navigation2" href="#intro">Introduction</a> &nbsp;-&nbsp;
1853 <a class="navigation2" href="#setup">Installation</a> &nbsp;-&nbsp;
1854 <a class="navigation2" href="#config">Configuration</a> &nbsp;-&nbsp;
1855 <a class="navigation2" href="#faq">FAQ</a> &nbsp;-&nbsp;
1856 <a class="navigation2" href="#developers">Developers</a> &nbsp;-&nbsp;
1857 <a class="navigation2" href="#credits">Credits</a>
1858 </font>
1859 <hr noshade="noshade" width="100%" />
1861 <p align="right">
1862 <a href="http://validator.w3.org/check/referer" target="w3c">
1863 <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" border="0" height="31" width="88" /></a>
1864 &nbsp;&nbsp;&nbsp;&nbsp;
1865 <a href="http://jigsaw.w3.org/css-validator/" target="w3c">
1866 <img src="http://www.w3.org/Icons/valid-css" alt="Valid CSS!" border="0" width="88" height="31" /></a>
1867 </p>
1869 </body>
1870 </html>