使用PHP 7错误

时间:2016-08-20 19:43:55

标签: php mysql

您好我试用了一台运行php 7的服务器,该脚本在以前的版本中运行,不知道是否正确,似乎没有找到并查询数据库,有人可以帮帮我吗?

  

致命错误:未捕获错误:在/home/insert/public_html/classesBD.php:7中调用未定义函数mysqli_connect()堆栈跟踪:#0 /home/insert/public_html/classesBD.php(30):conecta- > conecta()#1 /home/insert/public_html/index.php(9):consultar-> executa('SELECT * FROM p ...')#home {insert} / home / public_html第7行的/classesBD.php

LINE 7 - >

$this->bancoDados = mysqli_connect(SERVIDOR_BD, USUARIO_BD, SENHA_BD) or trigger_error(mysqli_error(),E_USER_ERROR);//3. Store in class variable

脚本

define("SERVIDOR_BD", "localhost");
define("BANCO_DE_DADOS", "XXXXXX");
define("USUARIO_BD", "XXXXXXXX");
define("SENHA_BD", "XXXXXXX");

class conecta {
    public $database_bancoDados = null;//1. New Added Field
    public $bancoDados = null;//2. New Added Field
    function conecta($servidor="", $bancoDeDados="", $usuario="", $senha=""){
        if (($servidor == "") && ($usuario == "") && ($senha == "") && ($bancoDeDados == "")){
            $this->bancoDados = mysqli_connect(SERVIDOR_BD, USUARIO_BD, SENHA_BD) or trigger_error(mysqli_error(),E_USER_ERROR);//3. Store in class variable
            $this->database_bancoDados = BANCO_DE_DADOS;//4. Store in class variable
        } else {
            $this->bancoDados = mysqli_connect($servidor, $usuario, $senha) or trigger_error(mysqli_error(),E_USER_ERROR);//5. Store in class variable
            $this->database_bancoDados = $bancoDeDados;//6. Store in class variable
        }
    }    
}

class consultar {

    var $bd;
    var $res;
    var $row;
    var $nrw;
    var $data;

    function executa($sql=""){
        if($sql==""){
            $this->res =  0; // Pointer result of the executed query
            $this->nrw =  0; // Line number the query returned, cruise control
            $this->row = -1; // Array of the current query line
        }
        // Connects to the database   
           $this->bd = new conecta();//7. Store in class variable
           $this->bd->conecta();//8. Store in class variable
           mysqli_select_db($this->bd->bancoDados, BANCO_DE_DADOS);//9. Change Here For parameter sequence
           $this->res = mysqli_query($this->bd->bancoDados, $sql); //10. Change here for parameter sequence
           $this->nrw = @mysqli_num_rows($this->res);

        $this->row = 0;
        if($this->nrw > 0)
            $this->dados();
    }

    function primeiro(){
        $this->row = 0;
        $this->dados();
    }

    function proximo(){
        $this->row = ($this->row<($this->nrw - 1)) ?
                        ++$this->row:($this->nrw - 1);
        $this->dados();
    }

    function anterior(){
        $this->row = ($this->row > 0) ? -- $this->row:0;
        $this->dados();
    }        

    function ultimo(){
        $this->row = $this->nrw-1;
        $this->dados();
    }

    function navega($linha){
        if($linha>=0 AND $linha<$this->nrw){
            $this->row = $linha;
            $this->dados();
        }
    }

    function dados(){
        mysqli_data_seek($this->res, $this->row);
        $this->data = mysqli_fetch_array($this->res);
    }
}
//Mostra todos os erros!    
error_reporting(E_ALL);
ini_set('display_errors', 1);

1 个答案:

答案 0 :(得分:0)

检查您的扩展程序!

<?php phpinfo();

或者如果您使用cli: php -m