Rumah > pembangunan bahagian belakang > tutorial php > 如何避免两次连接数据库

如何避免两次连接数据库

WBOY
Lepaskan: 2016-06-06 20:48:23
asal
1329 orang telah melayarinya

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

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

回复内容:

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

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

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

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

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

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan