迁移到PHP7.x,不推荐使用的函数

时间:2017-07-04 14:40:47

标签: php mysql mysqli

所以这就是问题所在,我购买的脚本是用PHP 5.x编写的,而我正在使用安装了PHP7.x的xampp进行开发。现在我想将我的脚本迁移到PHP7.x.现在我知道这已被问过一百万次,但你是否介意看看我的代码并提出你的想法,或者只是分享你的知识。我会非常感激。

以下是 config.php

的代码
<?php
// mySQL information
$server = 'localhost';                   // MySql server
$username = 'admin';                      // MySql Username
$password = 'admin' ;                         // MySql Password
$database = 'arcade';                  // MySql Database


// The following should not be edited

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

  $con = mysql_connect($server, $username, $password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db($database, $con); 


// Get settings
if (!isset($install)) {
    $sql = mysql_query("SELECT * FROM ava_settings");
    while ($get_setting = mysql_fetch_array($sql)) {
        $setting[$get_setting['name']] = $get_setting['value'];
    }
}
?>

不推荐使用的功能是:

  

mysql_connect()函数
     mysql_error()
     mysql_fetch_array()
     的mysql_query()
     mysql_select_db()

现在,我不想使用PDO方法,我想改用mysqli。我想将mysql_ *替换成mysqli_ *?那会变成这样吗?我不想隐藏/压制弃用警告。

  

mysqli_connect()
     mysqli_error()
     mysqli_fetch_array()
     mysqli_query()
     mysqli_select_db()

2 个答案:

答案 0 :(得分:0)

我只是提供您迁移到PDO驱动程序。因为每次更新都可能会看到很多弃用错误。

但是如果你不能这样做,首先要做的就是用相同的mysqli_ *替换每个mysql_ *函数调用,至少如果你愿意使用过程API - 这将是更简单的方法,考虑到你已经有一些基于MySQL API的代码,这是一个程序性的代码。

请注意,对于某些功能,您可能需要仔细检查参数:也许这里和那里存在一些差异 - 但不是很多,我说:mysql和mysqli都是基于相同的库(libmysql;至少对于PHP&lt; = 5.2)

答案 1 :(得分:0)

看看mysqli和mysql之间的区别:

$mysqli = mysqli_connect("example.com", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT ...");    
$row = mysqli_fetch_assoc($res);    
echo $row['_msg'];    

$mysql = mysql_connect("example.com", "user", "password");    
mysql_select_db("test");    
$res = mysql_query("SELECT ...", $mysql);    
$row = mysql_fetch_assoc($res);    
echo $row['_msg'];