Heim > Backend-Entwicklung > PHP-Tutorial > 如何避免两次连接数据库

如何避免两次连接数据库

WBOY
Freigeben: 2016-06-06 20:48:23
Original
1352 Leute haben es durchsucht

<code>                if (!@mysql_select_db($dbname,$conn)) {
                if (!@mysql_query('CREATE DATABASE '.$dbname)) {
                    exit('指定的数据库('.$dbname.')系统尝试创建失败,请通过其他方式建立数据库');
                } else {
                    @mysql_select_db($dbname,$conn);
                }
            }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

上面的代码意思是如果数据库不存在,则创建之,然后再连接,如果数据库存,直接连接,如何优化一下结构,谢谢了。

回复内容:

<code>                if (!@mysql_select_db($dbname,$conn)) {
                if (!@mysql_query('CREATE DATABASE '.$dbname)) {
                    exit('指定的数据库('.$dbname.')系统尝试创建失败,请通过其他方式建立数据库');
                } else {
                    @mysql_select_db($dbname,$conn);
                }
            }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

上面的代码意思是如果数据库不存在,则创建之,然后再连接,如果数据库存,直接连接,如何优化一下结构,谢谢了。

方法一:不再判断,直接CREATE DATABASE IF NOT EXISTS 'db_name';

方法二:查询SHOW DATABASES LIKE 'db_name'。如果数据库不存在,则返回一个空集。

不过不管怎么说,试图创建一个数据库似乎是一个不好的实践。如果普通用户可以随意增减数据库的数量,那对数据库系统的影响是灾难性的。

虚拟主机商一般都不允许这么做,而是要先用控制面板去操作mysql特权用户建库,然后把现有的库授权给普通用户使用。而WP、Discuz等主流PHP程序也都不会试图创建数据库。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage