How to put MySQL functions back into PHP 7
第 1 步
先获取3月下架的mysql扩展源码:
https://github.com/php/php-src/tree/PRE_PHP7_EREG_MYSQL_REMOVALS/ext/mysql
第 2 步
然后编辑你的 php.ini
在“扩展”部分或“MySQL”部分的某处,只需添加以下行:
extension = /usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysql.so
第 3 步
重新启动 PHP 和 mysql_* 函数现在应该可以再次工作了。
第 4 步
关闭所有已弃用的警告,包括来自 mysql_* 的警告:
error_reporting(E_ALL ^ E_DEPRECATED);
现在下面的代码可以帮助您:
$result = mysql_query("SELECT names FROM Customers");
$Data= Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$Data[] = $row['names'];
}
您还可以使用mysql_fetch_assoc 获取列中的所有值
$result = mysql_query("SELECT names FROM Customers");
$Data= Array();
while ($row = mysql_fetch_assoc($result))
{
$Data[] = $row['names'];
}
此扩展在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。
Reference
您可以轻松使用 MYSQLI 替代品
*
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
$result=mysqli_query($con,$sql);
// Numeric array
$row=mysqli_fetch_array($result,MYSQLI_NUM);
printf ("%s (%s)\n",$row[0],$row[1]);
// Associative array
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s (%s)\n",$row["Lastname"],$row["Age"]);
// Free result set
mysqli_free_result($result);
mysqli_close($con);
?>