Home >Backend Development >PHP Tutorial >How to connect to MySQL database in PHP?

How to connect to MySQL database in PHP?

WBOY
WBOYOriginal
2021-10-27 14:06:328535browse

In the previous article, I brought you "How to use the spl_autoload_register() and __autoload() functions in PHP? 》, which introduces the usage of these two functions in PHP in detail. In this article, we will take a look at how to connect to the database in PHP. I hope everyone has to help!

How to connect to MySQL database in PHP?

In our daily development, the database is an essential part of a website. As a web programming technology, PHP is also indispensable in dealing with the database. But there are many types of databases. Which database is the most suitable for PHP?

You can connect and operate databases through PHP. There are many types of databases that PHP can connect to. Among them, MySQL database has good compatibility with PHP and is the most widely used together. MySQL database is the most commonly used together with PHP. A popular open database system, let's learn together what a MySQL database is and how PHP should connect to it.

What is MySQL Database

MySQL is a secure, cross-platform, efficient, and A database system that is tightly integrated with multiple programming languages. MySQL is a database system used on the Web that runs on a server. With its small size, fast speed, and low total cost of ownership, the MySQL database can be regarded as one of the fastest SQL language databases currently running. In addition to having many features that other databases do not have, the MySQL database is also a completely free product. Users can download the MySQL database directly through the Internet without paying any fees. If you are interested, you can also click on "MySQL Latest Manual Tutorial" to learn.

Features of MySQL database

  • Powerful functions and cross-platform supportMySQL is suitable for different For various application scenarios, MySQL supports at least 20 or more development platforms, which allows programs written on any platform to be transplanted without any modification to the program.

  • Fast running speed and high speed are the distinguishing features of MySQL. In MySQL, connections can be implemented extremely quickly; SQL functions are implemented using highly optimized class libraries and run extremely fast.

  • supports object-oriented, PHP supports hybrid programming. Programming methods can be divided into three methods: purely object-oriented, purely process-oriented, and a mixture of object-oriented and process-oriented.

  • High security, Flexible and secure permissions and password system.

  • Low cost, MySQL database is a completely free product that users can download directly through the Internet.

  • Supports various development languages, MySQL provides support for various popular programming languages ​​and provides them with many API functions. .

  • The database has large storage capacity,Supports powerful built-in functions,PHP provides a large number of built-in functions, almost Covers all functions in web application development.

Database application

The database is a kind of database that is specially used to manage data resources. System and data are actually the objects that computers need to deal with every day. Whether it is text, graphics, sounds, etc., these are all forms of data. In the file management method, there are problems such as inconvenience of transplantation and waste of storage space, but the database can better solve these problems.

The database is based on the management of the data itself. It saves all the data in the database, organizes it in an orderly manner, and uses the database management system to more conveniently use the data in the database. It can be understood that a database is data that has been sorted by a computer, and the software that manages these data is a data management system. A database system is composed of two parts: database and data management system.

Multiple databases can be created in the same MySQL database server. If each database is regarded as a "warehouse", then the content data in the website will be stored in this warehouse. The access and maintenance of data in the database are all managed through database management system software.

Connecting to MySQL database

Using PHP to operate the MySQL database is one of the inevitable requirements for Web development. PHP provides complete operations on MySQL Database functions, these functions include everything from connecting to the database, executing SQL statements, processing data result sets to closing the database. Through these functions, web development based on MySQL database is made efficient and simple. Then let's take a look at how PHP connects to the MySQL database.

Before connecting to the database, we must ensure that the mysqli extension in PHP is enabled. To enable the mysqli extension, just remove the comment extension=mysqli in the php.ini configuration file. We can check whether the mysqli extension is successfully opened through the phpinfo() function:

<?php
phpinfo();
?>

appears in the output result:

How to connect to MySQL database in PHP?

means that the mysqli extension in PHP has been turned on. After we confirm that it has been successfully turned on, we can connect PHP to the MySQL database through the mysqli_connect() function in the extension.

其中mysqli_connect() 函数的语法格式如下:

mysqli_connect(
    [string $host = ini_get("mysqli.default_host")
    [, string $username = ini_get("mysqli.default_user")
    [, string $password = ini_get("mysqli.default_pw")
    [, string $dbname = ""
    [, int $port = ini_get("mysqli.default_port")
    [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

其中需要注意的是:

  • $host  是可选参数,要连接的服务器;

  • $username  是可选参数,登录所使用的 MySQL 用户名;

  • $password  是可选参数,登录所用的密码;

  • $dbname  是可选参数,执行查询时使用的默认数据库;

  • $port  是可选参数,指定连接到 MySQL 服务器的端口号;

  • $socket  是可选参数,指定 socket 或要使用的已命名 pipe;

  • mysqli_connect()函数是 mysqli::__construct() 函数的别名,所有使用对象 mysqli() 也可以实现连接数据库。

接下来我们通过示例来看一下应该怎样连接,示例如下:

<?php
    $host     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $port     = &#39;3306&#39;;
    $link     = @mysqli_connect($host,$username,$password,$dbname,$port);   // 连接到数据库
    if($link){
        mysqli_set_charset($link,&#39;UTF-8&#39;);      // 设置数据库字符集
        $sql    = &#39;select * from user&#39;;         // SQL 语句
        $result = mysqli_query($link, $sql);    // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_all($result);    // 从结果集中获取所有数据
        mysqli_close($link);
    }else{
        die(&#39;数据库连接失败!&#39;);
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>

输出结果会获取数据库中你所设置的字符集,若是没有连接上两种输出结果如下所示:

How to connect to MySQL database in PHP?How to connect to MySQL database in PHP?

上述示例是面向过程的一种方法,下面看一下面向对象的方法:

<?php
    $host     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die(&#39;数据库连接失败:&#39;.$mysql->connect_errno);
    }else{
        $mysql -> set_charset(&#39;UTF-8&#39;); //  设置数据库字符集
        $sql = &#39;select * from user&#39;;         // SQL 语句
        $result = $mysql -> query($sql);
        $data = $result -> fetch_all();
        $mysql -> close();
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>

输出结果与上述示例中的输出结果一致。

想要关闭连接的话,一般情况下,连接会在脚本运行完毕后自动关闭,当然也可以使用代码来关闭连接,示例如下:

$conn->close();

上述是面向对象方法时的关闭连接代码,下面看一下面向过程方法的代码,示例如下:

mysqli_close($conn);

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

The above is the detailed content of How to connect to MySQL database in PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn