dpc46827 2015-12-26 13:40
浏览 6
已采纳

PHP类使用mysqli

I need something like this.

 $mysqli = new mysqli($bd_host, $bd_user, $bd_password); 

 class webFile {

 function __construct($querystr){

 if ($result = $this->$mysqli->query($querystr)) { 

 while( $row = $result->fetch_assoc() ){ echo $row['name']; } 

 $result->close(); 

 }}}

 $object = new webFile($querystr);

I try in different variants, but somethink do not work. I interested in mysqli->query not mysqli_query(a,b);

UPD 1. Your solutions not work. 2. Thanks, work fine, the problem was with DB also.

  • 写回答

2条回答 默认 最新

  • dqwr32867 2015-12-26 13:47
    关注

    You need to use global for PHP to look in the global scope and see your $mysqli variable, and because this is a global variable you can't use $this:

    $mysqli = new mysqli($bd_host, $bd_user, $bd_password); 
    
    class webFile {
    
    function __construct($querystr){
    global $mysqli;
    if ($result = $mysqli->query($querystr)) { 
    
    while( $row = $result->fetch_assoc() ){ echo $row['name']; } 
    
    $result->close(); 
    
    }}}
    
    $object = new webFile($querystr);
    

    You could also just pass your MySQLi object to your constructor and have a property:

    $mysqli = new mysqli($bd_host, $bd_user, $bd_password); 
    
    class webFile {
    
    function __construct($querystr, $conn){
    $this->mysqli = $conn;
    if ($result = $this->mysqli->query($querystr)) { 
    
    while( $row = $result->fetch_assoc() ){ echo $row['name']; } 
    
    $result->close(); 
    
    }}
    private $mysqli;
    }
    
    $object = new webFile($querystr, $mysqli);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?