Home > Database > Mysql Tutorial > body text

How to implement Mysql database connection, query, record set and other operations through PHP

jacklove
Release: 2018-06-08 10:30:25
Original
1528 people have browsed it

In PHP website development, it is often necessary to operate the Mysql database. Generally speaking, it needs to go through the following steps: Mysql database link, Mysql database query, Mysql record set operation, etc. If the above operations are repeated every time, it will not only be cumbersome. , and the code redundancy is high, so I compiled some codes that use PHP to implement Mysql database operations and posted them in the form of functions. You can add other functions or integrate them into Mysql database classes according to your own needs.

Mysql database link code

function dbConnect($hostname,$username,$pass,$db_name,$pconnect = 0)
{
$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect';
if(!$connect) {
$connect = @$func($hostname,$username,$pass) or die("Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
}
@mysql_select_db($db_name, $connect) or die(" Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
return $connect;
}
Copy after login

Note:

The parameters $hostname, $username, $pass, $db_name respectively represent the Mysql database server address, username, password, and The name of the connected database. Usually the hostname is localhost or 127.0.0.1. The parameter $pconnect defaults to 0, which means that the mysql_connect function is usually used to connect to the Mysql database.

Knowledge point:

The difference between mysql_connect and mysql_pconnect: After executing the current PHP program, PHP automatically closes the database connection established by mysql_connect, while mysql_pconnect returns a durable and stable database connection. It can be reused when there is the next connection request within the time, which saves the time of repeatedly connecting to the Mysql database and speeds up the access. It is suitable for situations where the amount of concurrent access is not large. If the amount of concurrent access is relatively large, it may be due to Mysql The maximum number of connections has been reached, preventing subsequent requests from being satisfied.

mysql_error function: Returns the text error message generated by the previous Mysql operation. The mysql_errno function returns the error number in the previous Mysql operation, or 0 if there is no error.

Mysql database query code

function query_error($query)
{
global $connect;
$temp_bar = "
=============================================================================
";
$result = mysql_query($query, $connect) or die("DB ERROR
".$temp_bar." Mysql_Query : ".$query."
Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."".$temp_bar);
return $result;
}
Copy after login

Note: This function is a Mysql database query function, which is equivalent to the function of the mysql_query function. If an error occurs, an error message (SQL statement) is output. In fact, in order to prevent the website from being exposed The structure of the database, when it is officially used for commercial use, is best not to output SQL execution statements.

Mysql record set operation function code (mysql_fetch_array)

function fetch_array($result,$result_type = MYSQL_ASSOC,$records = "one")
{
if ($records == "one") {
return @mysql_fetch_array($result,$result_type);
}
else {
for ($i=0;num_rows($result);$i++)
{
$info[$i] = @mysql_fetch_array($result,$result_type);
}
free_result($result);
return $info;
}
}
Copy after login

Note: The function of this function is derived from the mysql_fetch_array function. On this basis, I added the reading of the Mysql database record set Function and returns the obtained value as an array.

Knowledge point:

The mysql_fetch_array function is an extended version of the mysql_fetch_row function. The second parameter result_type has three values: MYSQL_ASSOC, MYSQL_NUM and MYSQL_BOTH. The default value is MYSQL_BOTH. MYSQL_BOTH: Get an array containing both associative and numeric indexes. MYSQL_ASSOC: Get only the associated index (like mysql_fetch_assoc()), MYSQL_NUM: Get the numeric index (like mysql_fetch_row()).

Error information function code

function error_msg($msg, $url= "")
{
global $connect;
if($connect) {
mysql_close($connect);
}
switch ($url)
{
case "":
$url = "history.go(-1)";
break;
case "close":
$url = "window.close()";
break;
default:
$url = "document.location.href = '$url'";
break; 
}
if (!empty($msg)) {
echo "";
}
else{
echo "";
}
exit;
}
Copy after login

Note: The function of this function is mainly to report errors in the form of alert and perform page jumps. It is a general function. Before reporting errors or jumping, it will first Mysql The database connection is closed using the mysql_close function.

Calling instructions:

From the function code of the above Mysql database operation, we can see that the $connect variable is a global variable. First, put the above functions into a file, such as mysqlconnect .php, then declare relevant variables and assign values, and call this Mysql database connection function after the dbConnect function is declared, that is:

$hostname = "mysqlserveraddr";
$username = "yourusername";
$pass = "youruserpass";
$db_name = "yourdatabase";
$connect = dbConnect($hostname,$username,$pass,$db_name);
Copy after login

Through the above Mysql database connection, database query, and database record set operation function codes According to the explanation, the basic functions of Mysql database operation in PHP website development have been included. If necessary, it is feasible to change this code to the Mysql database class or use PHP to add other Mysql database operation functions. For more related recommendations, please Follow php Chinese website.

Related recommendations:

MYSQL query time data

How to use database methods to save session

Five ways to prevent SQL injection

The above is the detailed content of How to implement Mysql database connection, query, record set and other operations through PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!