如何在此代码中使用PHP中的mysqli

时间:2016-03-27 09:41:15

标签: php mysql mysqli pdo mysql-connect

目前我的代码是连接我的数据库。

    final int adapterCount = adapter.getCount();

    for (int i = 0; i < adapterCount; i++) {
        View item = adapter.getView(i, null, null);
        myLayout.removeView(item);
    }

db_config.php是

<?php

/**
* A class file to connect to database
*/
class DB_CONNECT {

// constructor
function __construct() {
    // connecting to database
    $this->connect();
}

// destructor
function __destruct() {
    // closing db connection
    $this->close();
}

/**
 * Function to connect with database
 */
function connect() {
    // import database connection variables
    require_once __DIR__ . '/db_config.php';

    // Connecting to mysql database
    $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());

    // Selecing database
    $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());

    // returing connection cursor
    return $con;
}

/**
 * Function to close db connection
 */
function close() {
    // closing db connection
    mysql_close();
}

}

?>

在某处使用上面的代码时,它会显示使用mysqli或PDO的警告 我遵循了许多stackoverflow问题但仍然无法成功完成。 我知道的一种方法是在mysql_connect()之前使用@符号,但它可能在将来不起作用。 感谢任何帮助

3 个答案:

答案 0 :(得分:1)

正如其他人已经写过的那样,你应该使用mysqli_*函数。但这不是你的问题。

问题是您将连接分配给$con这是一个局部变量,因此 - 一旦connect()退出 - 该值就会丢失。

此代码有效:

class DB_CONNECT
{
    private $connection;
    private $database;

    function __construct() {
        $this->connect();
    }

    function __destruct() {
        $this->close();
    }

    function connect() {
        $this->connection = mysqli_connect( DB_SERVER, DB_USER, DB_PASSWORD ) or die(mysql_error());
        $this->database = mysqli_select_db( DB_DATABASE ) or die(mysql_error());
    }

    function close() {
        mysqli_close( $this->connection );
    }
}

注意:

在您的代码中,您在一行中有两次or die(...)

答案 1 :(得分:-1)

使用此功能关闭错误报告

将其写在页面顶部

public static void main(String[] args) {

    Scanner Stof = new Scanner(System.in);

    String[] MainArr = new String[3];

    MainArr[0] = "Goud";
    MainArr[1]= "Zilver";
    MainArr[2]="Tin";

    int x = 1;
    while(true) {
        System.out.println("Kies een stof waar je meer info over wil: goud, zilver of tin");
        System.out.println("type hem hieronder in en druk dan op enter!");

        String gekozenStof = Stof.next();

        if(gekozenStof.equalsIgnoreCase(MainArr[0])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 79");
            System.out.println("EN-waarde is 2,54");
        }else if(gekozenStof.equalsIgnoreCase(MainArr[1])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 47");
            System.out.println("EN-waarde is 1,93");
        }else if(gekozenStof.equalsIgnoreCase(MainArr[2])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 50");
            System.out.println("EN-waarde is 1,96");
        }
        System.out.println("Doorgaan? J/N");
        if (Stof.next().equalsIgnoreCase("N")) {
            break;
        }
    }
}

这是更多信息的链接

http://www.w3schools.com/php/func_error_reporting.asp

答案 2 :(得分:-1)

它没有用,因为你使用的是mysql,它被折旧了,把所有的mysql都改成了mysqli。这是您的代码的编辑版本。

 <?php

/**
* A class file to connect to database
*/
class DB_CONNECT {

// constructor
function __construct() {
    // connecting to database
    $this->connect();
}

// destructor
function __destruct() {
    // closing db connection
    $this->close();
}

/**
 * Function to connect with database
 */
function connect() {
    // import database connection variables
    require_once __DIR__ . '/db_config.php';

    // Connecting to mysql database
    $con = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysqli_error());

    // Selecing database
    $db = mysqli_select_db(DB_DATABASE) or die(mysqli_error());

    // returing connection cursor
    return $con;
}

/**
 * Function to close db connection
 */
function close() {
    // closing db connection
    mysqli_close();
}

}

?>