所以这就是问题所在,我购买的脚本是用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()
答案 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'];