Home >Backend Development >PHP Tutorial >Summary of methods for accessing database clusters with PHP
This article summarizes and analyzes how PHP accesses database clusters. Share it with everyone for your reference, the details are as follows:
There are three common methods:
1. Automatically determine whether the sql is read to select the database connection:
When instantiating the php DB class, you need to connect two at a time server, and then select different connections based on slq. For example:
$link_w = mysql_connect($w_host,$user,$pwd); $link_r = mysql_connect($r_host,$user,$pwd); //执行sql if(preg_match("/^select/i", trim($sql))) { mysql_query($sql,$link_r); }else { mysql_query($sql,$link_w); }
The advantage of this method is that developers do not need to distinguish between reading or writing when executing sql. They can judge by themselves at the bottom of the db class. The disadvantage is that often only Two connections also need to be opened when reading or writing.
2. Choose by yourself when calling:
You can usually determine whether it is writing or reading before executing sql, so developers need to manually call different connections. For example:
$w_db = new DB('w'); $w_db -> query('insert into .....');
When sql is reading:
$r_db = new DB('r'); $r_db -> query('select .....');
mainly uses the passed parameters to distinguish whether sql is read or written. The developer needs to make his own judgment before each call to sql.
3. Use MySQL Proxy as the middle layer proxy, which will automatically determine whether the SQL is read or written, and forward the request to the server. The advantage is that the program does not need to change any code. You only need to specify the reading or writing server when starting mysql proxy:
--proxy-backend-addresses --proxy-read-only-backend-addresses
Readers who are interested in more PHP-related content can check out this site's special topic: "Summary of PHP Office Document Techniques" ( Including word, excel, access, ppt)", "php date and time usage summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php+mysql database operation introductory tutorial" And "A Summary of Common PHP Database Operation Skills"
I hope this article will be helpful to everyone in PHP programming.
The above has introduced a summary of the methods of accessing database clusters with PHP, including various aspects. I hope it will be helpful to friends who are interested in PHP tutorials.