碰到个PHP的怪问题。有能力的朋友帮忙看下include_once ("mysql.php");
$mysql=new mysql;
$mysql->__construct("127.0.0.1","root","passw123","tb_db","0","GB2312");mysql.php中函数:
/*构造函数*/
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
!isset($db_host)?print "It's empty .":print "It's $db_host .";这里会 提示 It's empty
传进去的参数 为什么变空值了
$mysql=new mysql;
$mysql->__construct("127.0.0.1","root","passw123","tb_db","0","GB2312");mysql.php中函数:
/*构造函数*/
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
!isset($db_host)?print "It's empty .":print "It's $db_host .";这里会 提示 It's empty
传进去的参数 为什么变空值了
在new时传参数就会自动调用了。骚年,去看一下oop方面的资料吧。
private $db_host; //数据库主机
private $db_user; //数据库用户名
private $db_pwd; //数据库用户名密码
private $db_database; //数据库名
private $conn; //数据库连接标识;
private $result; //执行query命令的结果资源标识
private $sql; //sql执行语句
private $row; //返回的条目数
private $coding; //数据库编码,GBK,UTF8,gb2312
private $bulletin = true; //是否开启错误记录
private $show_error = true; //测试阶段,显示所有错误,具有安全隐患,默认关闭
private $is_error = false; //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的
/*构造函数*/
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
!isset($db_host)?print "It's empty .":print "It's $db_host .";
$this->db_host = $db_host;
$this->db_user = $db_user;
$this->db_pwd = $db_pwd;
$this->db_database = $db_database;
$this->conn = $conn;
$this->coding = $coding;
$this->connect();
} 请问怎么传这些参数进来?NEW的时候?
$mysql=new mysql("127.0.0.1","root","passw123","tb_db","0","GB2312");
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) { 应写作
public function __construct($db_host="127.0.0.1",$db_user="root",$db_pwd="passw123",$db_database="tb_db",$conn="0",$coding="GB2312") {这样在 $mysql = new mysql; 时就没有问题了知之为知之,不知为不知。是知也
没有什么可笑的
$mysql->__construct("127.0.0.1","root","passw123","tb_db","0","GB2312");这样的写法是错误的、构造函数初始化就会调用。$mysql=new mysql("127.0.0.1","root","passw123","tb_db","0","GB2312");这样写才是的。
还有那个笑人家的 不解答就算了 还这样...