Помагите изменить mysql на mysqli

Статус
В этой теме нельзя размещать новые ответы.

karen12

Постоялец
Регистрация
26 Фев 2012
Сообщения
108
Реакции
4
Есть такая функция
Код:
function connect_db() {
        $conn_str = mysql_connect(DBHOST, DBUSER, DBPASS);
        mysql_select_db(DBNAME, $conn_str) or die ('Could not select Database.');
    }

    function query($sql) {

        $this->connect_db();
        $sql = mysql_query($sql);
        $num_rows = mysql_num_rows($sql);
        $result = mysql_fetch_assoc($sql);
           
    return array("num_rows"=>$num_rows,"result"=>$result,"sql"=>$sql);
   
    }
как изменить, чтобы сработал как mysqli ?
 
function connect_db() {
$conn_str = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME, $conn_str) or die ('Could not select Database.');
}

function query($sql) {

$this->connect_db();
$sql = mysql_query($sql);
$num_rows = mysql_num_rows($sql);
$result = mysql_fetch_assoc($sql);

return array("num_rows"=>$num_rows,"result"=>$result,"sql"=>$sql);

}

как изменить, чтобы сработал как mysqli ?

PHP:
public $connection = false;
function connect_db() {
       $this->connection = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME); 
       if (mysqli_connect_error())   {
         throw new Exception('Database error: ' . mysqli_connect_error());
       }
    }

    function query($sql) {
        if (!$this->connection) $this->connect_db();
        $sql = mysqli_query($this->connection, $sql);
        $num_rows = mysqli_num_rows($sql);
        $result = mysqli_fetch_assoc($sql);
           
    return array("num_rows"=>$num_rows,"result"=>$result,"sql"=>$sql);
   
    }
 
А существует какой-нибудь конвертер mysql на mysqli?
 
Важно иметь ввиду, что основное отличие в использовании mysqli это не только "чтобы сработал", а самое главное, это подготавливаемые запросы! И помимо подключения mysqli, нужно менять сами выражения, тогда имеет смысл использовать mysqli.
 
Мой совет поставь шторм себе. Он покажет что и как. + выстави php 7+ там mysql запрещён. Так проще будет понять что битое.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху