Php mysql database configuration

Php mysql database configuration

The behaviour of these functions is affected by settings in php.ini .

MySQL Configuration Options

Name Default Changeable Changelog
mysql.allow_local_infile «1» PHP_INI_SYSTEM
mysql.allow_persistent «1» PHP_INI_SYSTEM
mysql.max_persistent «-1» PHP_INI_SYSTEM
mysql.max_links «-1» PHP_INI_SYSTEM
mysql.trace_mode «0» PHP_INI_ALL
mysql.default_port NULL PHP_INI_ALL
mysql.default_socket NULL PHP_INI_ALL
mysql.default_host NULL PHP_INI_ALL
mysql.default_user NULL PHP_INI_ALL
mysql.default_password NULL PHP_INI_ALL
mysql.connect_timeout «60» PHP_INI_ALL

For further details and definitions of the PHP_INI_* modes, see the Where a configuration setting may be set.

Here’s a short explanation of the configuration directives.

Allow accessing, from PHP’s perspective, local files with LOAD DATA statements

Whether to allow persistent connections to MySQL.

The maximum number of persistent MySQL connections per process.

The maximum number of MySQL connections per process, including persistent connections.

Trace mode. When mysql.trace_mode is enabled, warnings for table/index scans, non free result sets, and SQL-Errors will be displayed. (Introduced in PHP 4.3.0)

The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the MYSQL_TCP_PORT environment variable, the mysql-tcp entry in /etc/services or the compile-time MYSQL_PORT constant, in that order. Win32 will only use the MYSQL_PORT constant.

The default socket name to use when connecting to a local database server if no other socket name is specified.

The default server host to use when connecting to the database server if no other host is specified. Doesn’t apply in SQL safe mode.

The default user name to use when connecting to the database server if no other name is specified. Doesn’t apply in SQL safe mode.

The default password to use when connecting to the database server if no other password is specified. Doesn’t apply in SQL safe mode.

Connect timeout in seconds. On Linux this timeout is also used for waiting for the first answer from the server.

User Contributed Notes

Источник

PHP & MySQL — Environment Setup

In order to develop and run PHP Web pages, three vital components need to be installed on your computer system.

  • Web Server − PHP works with virtually all Web Server software, including Microsoft’s Internet Information Server (IIS) but most often used is Apache Server. Download Apache for free here − https://httpd.apache.org/download.cgi
  • Database − PHP works with virtually all database software, including Oracle and Sybase but most commonly used is MySQL database. Download MySQL for free here − https://www.mysql.com/downloads/
  • PHP Parser − In order to process PHP script instructions, a parser must be installed to generate HTML output that can be sent to the Web Browser. This tutorial will guide you how to install PHP parser on your computer.

PHP Parser Installation

Before you proceed, it is important to make sure that you have proper environment setup on your machine to develop your web programs using PHP. Store the following php file in Apache’s htdocs folder.

phpinfo.php

Type the following address into your browser’s address box.

If this displays a page showing your PHP installation related information, then it means you have PHP and Webserver installed properly. Otherwise, you have to follow the given procedure to install PHP on your computer.

This section will guide you to install and configure PHP over the following four platforms −

Apache Configuration

If you are using Apache as a Web Server, then this section will guide you to edit Apache Configuration Files.

PHP.INI File Configuration

The PHP configuration file, php.ini, is the final and immediate way to affect PHP’s functionality.

Windows IIS Configuration

To configure IIS on your Windows machine, you can refer your IIS Reference Manual shipped along with IIS.

Install MySQL Database

The most important thing you will need, of course is an actual running database with a table that you can query and modify.

  • MySQL DB − MySQL is an open source database. You can download it from MySQL Official Site. We recommend downloading the full Windows installation.
  • In addition, download and install MySQL Administrator as well as MySQL Query Browser. These are GUI based tools that will make your development much easier.
  • Finally, download and unzip MySQL Connector/J (the MySQL JDBC driver) in a convenient directory. For the purpose of this tutorial we will assume that you have installed the driver at C:\Program Files\MySQL\mysql-connector-java-5.1.8.
  • Accordingly, set CLASSPATH variable to C:\Program Files\MySQL\mysql-connector-java-5.1.8\mysql-connector-java-5.1.8-bin.jar. Your driver version may vary based on your installation.

Set Database Credential

When we install MySQL database, its administrator ID is set to root and it gives provision to set a password of your choice.

Using root ID and password you can either create another user ID and password, or you can use root ID and password for your JDBC application.

There are various database operations like database creation and deletion, which would need administrator ID and password.

For rest of the JDBC tutorial, we would use MySQL Database with guest as ID and guest123 as password.

If you do not have sufficient privilege to create new users, then you can ask your Database Administrator (DBA) to create a user ID and password for you.

Create Database

To create the TUTORIALSPOINT database, use the following steps −

Step 1

Open a Command Prompt and change to the installation directory as follows −

C:\> C:\>cd Program Files\MySQL\bin C:\Program Files\MySQL\bin>

Note − The path to mysqld.exe may vary depending on the install location of MySQL on your system. You can also check documentation on how to start and stop your database server.

Step 2

Start the database server by executing the following command, if it is already not running.

C:\Program Files\MySQL\bin>mysqld C:\Program Files\MySQL\bin>

Step 3

Create the TUTORIALSPOINT database by executing the following command −

C:\Program Files\MySQL\bin> mysqladmin create TUTORIALSPOINT -u guest -p Enter password: ******** C:\Program Files\MySQL\bin>

Create Table

To create the Employees table in TUTORIALSPOINT database, use the following steps −

Step 1

Open a Command Prompt and change to the installation directory as follows −

C:\> C:\>cd Program Files\MySQL\bin C:\Program Files\MySQL\bin>

Step 2

Login to the database as follows −

C:\Program Files\MySQL\bin>mysql -u guest -p Enter password: ******** mysql>

Step 3

Create the table Employees as follows −

mysql> use TUTORIALSPOINT; mysql> create table Employees -> ( -> id int not null, -> age int not null, -> first varchar (255), -> last varchar (255) -> ); Query OK, 0 rows affected (0.08 sec) mysql>

Create Data Records

Finally you create few records in Employee table as follows −

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali'); Query OK, 1 row affected (0.05 sec) mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal'); Query OK, 1 row affected (0.00 sec) mysql>

For a complete understanding on MySQL database, study the MySQL Tutorial.

Now you are ready to start experimenting with PHP.

Источник

Connecting to MySQL

Summary: in this tutorial, you’ll learn step by step how to connect to a MySQL database from PHP using PDO.

Prerequisites

Before connecting to a MySQL database server, you need to have:

  • A MySQL database server, a database, and an account that has access to the database.
  • PDO MySQL driver enabled in the php.ini file

1) Setting MySQL database parameters

Suppose you have a local MySQL database server that has the following information:

  • The host is localhost .
  • The bookdb database on the local database server.
  • The account with the user root and password ‘S@cr@t1!’ that can access the bookdb database.

In PHP, you can create a config.php file and place the database parameters:

 $host = 'localhost'; $db = 'bookdb'; $user = 'root'; $password = 'S@cr@t1!';Code language: HTML, XML (xml)

To use the database parameters, you can include the config.php file using the require construct:

 require 'config.php';Code language: HTML, XML (xml)

2) Enable PDO_MySQL Driver

PDO_MYSQL is a driver that implements the PDO interface. PDO uses the PDO_MYSQL driver to connect to a MySQL database.

To check if the PDO_MYSQL driver is enabled, you open the php.ini file. The php.ini file is often located under the php directory. For example, you can find the php.ini file under the C:\xampp\php directory if you use XAMPP on Windows.

The following shows the extension line in the php.ini file:

;extension=php_pdo_mysql.dll

To enable the extension, you need to uncomment it by removing the semicolon ( ; ) from the beginning of the line like this:

extension=php_pdo_mysql.dll

After that, you need to restart the web server for the change to take effect.

MySQL data source name

PDO uses a data source name (DSN) that contains the following information:

  • The database server host
  • The database name
  • The user
  • The password
  • and other parameters such as character sets, etc.

PDO uses this information to make a connection to the database server. To connect to the MySQL database server, you use the following data source name format:

"mysql:host=host_name;dbname=db_name;charset=UTF8"Code language: JSON / JSON with Comments (json)
$dsn = "mysql:host=localhost;dbname=bookdb;charset=UTF8";Code language: PHP (php)

Note that the charset UTF-8 sets the character set of the database connection to UTF-8.

Connecting to MySQL

The following index.php script illustrates how to connect to the bookdb database on the MySQL database server with the root account:

 require 'config.php'; $dsn = "mysql:host=$host;dbname=$db;charset=UTF8"; try < $pdo = new PDO($dsn, $user, $password); if ($pdo) < echo "Connected to the $db database successfully!"; > > catch (PDOException $e) < echo $e->getMessage(); >Code language: HTML, XML (xml)
  • First, create a new PDO object with the data source name, user, and password. The PDO object is an instance of the PDO class.
  • Second, show the success message if the connection is established successfully or an error message if an error occurs.

If you have everything set up correctly, you will see the following message:

Connected to the bookdb database successfully!Code language: plaintext (plaintext)

Error handling strategies

PDO supports three different error handling strategies:

  • PDO::ERROR_SILENT – PDO sets an error code for inspecting using the PDO::errorCode() and PDO::errorInfo() methods. The PDO::ERROR_SILENT is the default mode.
  • PDO::ERRMODE_WARNING – Besides setting the error code, PDO will issue an E_WARNING message.
  • PDO::ERRMODE_EXCEPTION – Besides setting the error code, PDO will raise a PDOException .

To set the error handling strategy, you can pass an associative array to the PDO constructor like this:

$pdo = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);Code language: PHP (php)

Or you can use the setAttribute() method of the PDO instance:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);Code language: PHP (php)

Troubleshooting

There are some common issues when you connect to a MySQL database:

If the MySQL driver is not enabled in the php.ini file, you will get the error message:

could not find driverCode language: plaintext (plaintext)

If you provide an incorrect password, you get the following error message:

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)Code language: plaintext (plaintext)

If you provide an invalid database name or the database does not exist, you get the following error message:

SQLSTATE[HY000] [1049] Unknown database 'bookdb'Code language: plaintext (plaintext)

If you provide an invalid database hostname, the following error message will display:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.Code language: plaintext (plaintext)

Summary

  • Enable the PDO_MYSQL driver in the php.ini file for connecting to a MySQL database from PHP PDO.
  • Create an instance of the PDO class to make a connection to a MySQL database.
  • Use the PDO constructor or the setAttribute() method to set an error handling strategy.

Источник

Читайте также:  Html and jquery example
Оцените статью