PHP MySQL Functions

|  | Search W3Schools : |

HOME | HTML | CSS | XML | JAVASCRIPT | ASP | PHP | SQL | MORE... |  | References | Examples | Forum | About

ADVERTISEMENTS XML Certification Download XML editor Custom Programming |  |

Table of contents

PHP Basic
PHP HOME
PHP Intro
PHP Install
PHP Syntax
PHP Variables
PHP String
PHP Operators
PHP If...Else
PHP Switch
PHP Arrays
PHP Looping
PHP Functions
PHP Forms
PHP $_GET
PHP $_POST
PHP Advanced
PHP Date
PHP Include
PHP File
PHP File Upload
PHP Cookies
PHP Sessions
PHP E-mail
PHP Secure E-mail
PHP Error
PHP Exception
PHP Filter
PHP Database
MySQL Introduction
MySQL Connect
MySQL Create
MySQL Insert
MySQL Select
MySQL Where
MySQL Order By
MySQL Update
MySQL Delete
PHP ODBC
PHP XML
XML Expat Parser
XML DOM
XML SimpleXML
PHP and AJAX
AJAX Introduction
XMLHttpRequest
AJAX Suggest
AJAX XML
AJAX Database
AJAX responseXML
AJAX Live Search
AJAX RSS Reader
AJAX Poll
PHP Reference
PHP Array
PHP Calendar
PHP Date
PHP Directory
PHP Error
PHP Filesystem
PHP Filter
PHP FTP
PHP HTTP
PHP Libxml
PHP Mail
PHP Math
PHP Misc
PHP MySQL
PHP SimpleXML
PHP String
PHP XML
PHP Zip
PHP Quiz
PHP Quiz
PHP Exam

Selected Reading

Web Statistics
Web Glossary
Web Hosting
Web Quality
W3Schools Tutorials
W3Schools Forum
Helping W3Schools

# PHP MySQL Functions

## PHP MySQL Introduction

The MySQL functions allows you to access MySQL database servers.

## Installation

For the MySQL functions to be available, you must compile PHP with MySQL support.

For compiling, use --with-mysql=DIR (the optional DIR points to the MySQL directory).

Note: For full functionality of MySQL versions greater than 4.1., use the MySQLi extension instead. If you would like to install both the mysql extension and the mysqli extension you should use the same client library to avoid any conflicts.

Installation on Linux Systems

PHP 5+: MySQL and the MySQL library is not enabled by default. Use the --with-mysql=DIR configure option to include MySQL support and download headers and libraries from www.mysql.com.

Installation on Windows Systems

PHP 5+: MySQL is not enabled by default, so the php_mysql.dll must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution, and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH.

To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.

Note: If you get the following error when starting the web server: "Unable to load dynamic library './php_mysql.dll'", this is because php_mysql.dll or libmysql.dll cannot be found by the system.

## Runtime Configuration

The behavior of the MySQL functions is affected by settings in the php.ini file.

MySQL configuration options:

Name | Default | Description | Changeable
--- | --- | --- | ---
mysql.allow_persistent | "1" | Whether or not to allow persistent connections | PHP_INI_SYSTEM
mysql.max_persistent | "-1" | The maximum number of persistent connections per process | PHP_INI_SYSTEM
mysql.max_links | "-1" | The maximum number of connections per process (persistent connections included) | PHP_INI_SYSTEM
mysql.trace_mode | "0" | Trace mode. When set to "1", warnings and SQL-errors will be displayed. Available since PHP 4.3 | PHP_INI_ALL
mysql.default_port | NULL | The default TCP port number to use | PHP_INI_ALL
mysql.default_socket | NULL | The default socket name to use. Available since PHP 4.0.1 | PHP_INI_ALL
mysql.default_host | NULL | The default server host to use (doesn't apply in SQL safe mode) | PHP_INI_ALL
mysql.default_user | NULL | The default user name to use (doesn't apply in SQL safe mode) | PHP_INI_ALL
mysql.default_password | NULL | The default password to use (doesn't apply in SQL safe mode) | PHP_INI_ALL
mysql.connect_timeout | "60" | Connection timeout in seconds | PHP_INI_ALL

## Resource Types

There are two resource types used in the MySQL extension. The first one is the link_identifier for a database connection, the second is a resource which holds the result of a query.

Note: Most MySQL functions accept link_identifier as the last optional parameter. If it is not provided, the last opened connection is used.

## PHP MySQL Functions

PHP: indicates the earliest version of PHP that supports the function.

Function | Description | PHP
--- | --- | ---
mysql_affected_rows() | Returns the number of affected rows in the previous MySQL operation | 3
mysql_change_user() | Deprecated. Changes the user of the current MySQL connection | 3
mysql_client_encoding() | Returns the name of the character set for the current connection | 4
mysql_close() | Closes a non-persistent MySQL connection | 3
mysql_connect() | Opens a non-persistent MySQL connection | 3
mysql_create_db() | Deprecated. Creates a new MySQL database. Use mysql_query() instead | 3
mysql_data_seek() | Moves the record pointer | 3
mysql_db_name() | Returns a database name from a call to mysql_list_dbs() | 3
mysql_db_query() | Deprecated. Sends a MySQL query. Use mysql_select_db() and mysql_query() instead | 3
mysql_drop_db() | Deprecated. Deletes a MySQL database. Use mysql_query() instead | 3
mysql_errno() | Returns the error number of the last MySQL operation | 3
mysql_error() | Returns the error description of the last MySQL operation | 3
mysql_escape_string() | Deprecated. Escapes a string for use in a mysql_query. Use mysql_real_escape_string() instead | 4
mysql_fetch_array() | Returns a row from a recordset as an associative array and/or a numeric array | 3
mysql_fetch_assoc() | Returns a row from a recordset as an associative array | 4
mysql_fetch_field() | Returns column info from a recordset as an object | 3
mysql_fetch_lengths() | Returns the length of the contents of each field in a result row | 3
mysql_fetch_object() | Returns a row from a recordset as an object | 3
mysql_fetch_row() | Returns a row from a recordset as a numeric array | 3
mysql_field_flags() | Returns the flags associated with a field in a recordset | 3
mysql_field_len() | Returns the maximum length of a field in a recordset | 3
mysql_field_name() | Returns the name of a field in a recordset | 3
mysql_field_seek() | Moves the result pointer to a specified field | 3
mysql_field_table() | Returns the name of the table the specified field is in | 3
mysql_field_type() | Returns the type of a field in a recordset | 3
mysql_free_result() | Free result memory | 3
mysql_get_client_info() | Returns MySQL client info | 4
mysql_get_host_info() | Returns MySQL host info | 4
mysql_get_proto_info() | Returns MySQL protocol info | 4
mysql_get_server_info() | Returns MySQL server info | 4
mysql_info() | Returns information about the last query | 4
mysql_insert_id() | Returns the AUTO_INCREMENT ID generated from the previous INSERT operation | 3
mysql_list_dbs() | Lists available databases on a MySQL server | 3
mysql_list_fields() | Deprecated. Lists MySQL table fields. Use mysql_query() instead | 3
mysql_list_processes() | Lists MySQL processes | 4
mysql_list_tables() | Deprecated. Lists tables in a MySQL database. Use mysql_query() instead | 3
mysql_num_fields() | Returns the number of fields in a recordset | 3
mysql_num_rows() | Returns the number of rows in a recordset | 3
mysql_pconnect() | Opens a persistent MySQL connection | 3
mysql_ping() | Pings a server connection or reconnects if there is no connection | 4
mysql_query() | Executes a query on a MySQL database | 3
mysql_real_escape_string() | Escapes a string for use in SQL statements | 4
mysql_result() | Returns the value of a field in a recordset | 3
mysql_select_db() | Sets the active MySQL database | 3
mysql_stat() | Returns the current system status of the MySQL server | 4
mysql_tablename() | Deprecated. Returns the table name of field. Use mysql_query() instead | 3
mysql_thread_id() | Returns the current thread ID | 4
mysql_unbuffered_query() | Executes a query on a MySQL database (without fetching / buffering the result) | 4

## PHP MySQL Constants

Since PHP 4.3 it has been possible to specify additional flags for the mysql_connect() and mysql_pconnect() functions:

PHP: indicates the earliest version of PHP that supports the constant.

Constant | Description | PHP
--- | --- | ---
MYSQL_CLIENT_COMPRESS | Use compression protocol | 4.3
MYSQL_CLIENT_IGNORE_SPACE | Allow space after function names | 4.3
MYSQL_CLIENT_INTERACTIVE | Allow interactive timeout seconds of inactivity before closing the connection | 4.3
MYSQL_CLIENT_SSL | Use SSL encryption (only available with version 4+ of the MySQL client library) | 4.3

The mysql_fetch_array() function uses a constant for the different types of result arrays. The following constants are defined:

Constant | Description | PHP
--- | --- | ---
MYSQL_ASSOC | Columns are returned into the array with the fieldname as the array index |
MYSQL_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index |
MYSQL_NUM | Columns are returned into the array having a numerical index (index starts at 0) |

Ektron CMS400.NET Version 7.6 delivers all of the flexibility and features you need to deploy the Web site you want, quickly and efficiently. learn more...

6 ways to take your site to the next level with Ektron:

| Create site stickiness through social networking. Keep it personal, relevant and interactive and they'll come back for more.
| Keep it open. Your site needs to be ready and able to connect to outside services. Ektron's open API gives you maximum flexibility.
| Streamline content and document management. Users need to quickly and intuitively find and add information.
| Empower your content authors. Reduce IT bottlenecks by allowing business users to create and edit Web content and forms.
| Climb to the top of search rankings. SEO tools, URL aliasing and eCommerce for your digital marketing strategy
| Add powerful Web 2.0 tools like blogs, wikis, forums, geo-mapping, rating systems and RSS feeds easily.

See why there are 20,000+ Ektron integrations worldwide. Request an INSTANT DEMO or download a FREE TRIAL today.

WEB HOSTING
Domain Name Registration & More!
$15 Domain Name Registration Save $20 / year!
Buy UK Domain Names Register Domain Names
Cheap Domain Names Cheap Web Hosting
Best Web Hosting
PHP MySQL Hosting
Top 10 Web Hosting
UK Reseller Hosting
Web Hosting
FREE Web Hosting

WEB BUILDING
Website Templates Flash Templates Website Builder Internet Business Opportunity
Custom Programming
FREE Trial or Demo Web Content Manager Forms,Web Alerts,RSS
Download XML editor
FREE Flash Website
FREE Web Templates

EDUCATION
US Web Design Schools
HTML Certification
JavaScript Certification
XML Certification
PHP Certification
ASP Certification

HOME or Top of Page |  | Printer Friendly
W3Schools is for training only. We do not warrant the correctness of its content. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy. Copyright 1999-2009 by Refsnes Data. All Rights Reserved.