-3

So here's the problem, the script I purchase is written on PHP 5.x, and I'm using xampp with PHP7.x installed for development. Now I want to migrate my script to PHP7.x. Now I know this was asked a million times already but do you mind if you could take a look at my code and give your thoughts about it, or simply share your knowledge. I would deeply appreciate it.

Here is the code for my 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'];
    }
}
?>

The deprecated functions are:

mysql_connect()
mysql_error()
mysql_fetch_array()
mysql_query()
mysql_select_db()

Now, I don't want to use the PDO approach, I want to use mysqli instead. Am I suppose to just replace the mysql_* into mysqli_*? So it will become like these? I don't want to hide/surpress the deprecate warnings.

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

Red
  • 11
  • 2
  • 3

2 Answers2

1

I just offer you that migrate to PDO driver. Because every update you may see a lot of deprecation errors.

But if you can not do it the first thing to do would probably be to replace every mysql_* function call with its equivalent mysqli_*, at least if you are willing to use the procedural API -- which would be the easier way, considering you already have some code based on the MySQL API, which is a procedural one.

Note that, for some functions, you may need to check the parameters carefully: Maybe there are some differences here and there -- but not that many, I'd say: both mysql and mysqli are based on the same library (libmysql ; at least for PHP <= 5.2)

Sanan Guliyev
  • 711
  • 5
  • 11
0

Look at difference between mysqli and 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'];