关于这段代码的疑惑
install 文件的第21行到35行,
看不太懂这段代码,谁能帮解释解释
$DBS->select_db($dbname);
if($DBS->geterrdesc()) {
if(mysql_get_server_info() > '4.1') {
$DBS->query("CREATE DATABASE $dbname DEFAULT CHARACTER SET $dbcharset");
} else {
$DBS->query("CREATE DATABASE $dbname");
}
if($DBS->geterrdesc()) {
exit('指定的数据库不存在, 系统也无法自动建立, 无法安装.<br />');
} else {
$DBS->select_db($dbname);
//成功建立指定数据库
}
}
0
See Also
Nearby
- 上一篇 › youBBS.sinaapp 在各地的速度
- 下一篇 › 蛋疼啊
整个if语句的判定条件if($DBS->geterrdesc())不是有问题吗?在此if语句里的第二个if语句又判定了了一次,而且执行的操作是“exit('指定的数据库不存在, 系统也无法自动建立, 无法安装.<br />');”??
外面if语句的判定条件是不是有问题? 在此if语句里的第二个if语句又判断了一次,而执行的操作却是“exit('指定的数据库不存在, 系统也无法自动建立, 无法安装.<br />');”??
@peterchen145
函数 $DBM->geterrdesc()
主楼的代码作用是尝试建立一个数据库,
第一个 if($DBS->geterrdesc()) 是知道有没有指定的数据库,
第二个if($DBS->geterrdesc()) 是在没发现指定的数据库时尝试建立一个数据库后再连接。
@admin
兄台能留个邮箱吗? 我正在学习youbbs的代码,有什么问题方便请教
@peterchen145
从某些角度看,youbbs 的代码很烂,个人觉得并不适合初学者入门参考,这可能会影响你的代码风格,因为这是个人在完全没有php 实例经验的情况下写的,目的是尽量简单一些、性能好一些,所以在php 脚本文件里尽量不用框架、函数,模板上也很差劲,在看了别人比较字符串的并接效率后使用了效率最高的那一种,但为了这几(或者零点几)毫秒的时间而牺牲了可读性……
不建议作为入门学习,倒是建议站在另外的高度来看youbbs 的实现方法(相对用框架来说原生的php 更容易读懂)和缺点。
联系方式见这里 http://saepy.sinaapp.com/topic/47/about
完成对数据库版本的检查以及创建数据库的功能。