将脚本从PHP5.6移动到PHP7
我有个问题,希望有人能帮我解决 我不得不升级我的VPS,从CentOS 6.x切换到CentOS 7.5 现在我找到了PHP7.0.1和MySQL 5.7 我在下面写的剧本写得很好 PHP5.6和MariaDB,现在出错了 要使此脚本正常工作,什么是有效的解决方案? 谢谢大家将脚本从PHP5.6移动到PHP7,php,mysql,csv,Php,Mysql,Csv,我有个问题,希望有人能帮我解决 我不得不升级我的VPS,从CentOS 6.x切换到CentOS 7.5 现在我找到了PHP7.0.1和MySQL 5.7 我在下面写的剧本写得很好 PHP5.6和MariaDB,现在出错了 要使此脚本正常工作,什么是有效的解决方案? 谢谢大家 $connessione = mysql_connect("localhost", "myuser", "mypassword"); mysql_select_db("mydb", $connessione); $risu
$connessione = mysql_connect("localhost", "myuser", "mypassword");
mysql_select_db("mydb", $connessione);
$risultato = mysql_query("SELECT * FROM mytable", $connessione);
$num_righe = mysql_num_rows($risultato);
if ($num_righe == 0) {
echo "There are no new products";
} else {
$query ="SELECT * FROM mytable";
$nuovi_prodotti= mysql_query($query, $connessione) or die(mysql_error());
$row_nuovi_prodotti = mysql_fetch_assoc($nuovi_prodotti);
$intes ="Riferimento|ID|nome|plain_description|iva inclusa|id_fornitore|brand|tax|picture1|picture2|picture3|model_size|model_quantity|barcode";
$fornitore ="1";
$iva = "22";
$righe.="".$intes."\n";
do {
$righe.= "".$row_nuovi_prodotti['reference']."|".$row_nuovi_prodotti['id_categoria']."|".$row_nuovi_prodotti['descrizione']."|".$row_nuovi_prodotti['descrizione']."|".$row_nuovi_prodotti['prezzoacquisto']."|".$row_nuovi_prodotti['prezzovendita']."|".$fornitore."|".$row_nuovi_prodotti['marca']."|".$row_nuovi_prodotti['dispo']."|".$row_nuovi_prodotti['EAN']."|".$iva."|https://www.mysite.it/cat/".$row_nuovi_prodotti['reference'].".jpg\n";
}
while ($row_nuovi_prodotti_unica= mysql_fetch_assoc($nuovi_prodotti_unica));
$filename = "nuovi-prodotti-tagliaunica.csv";
file_put_contents($filename, $righe);
echo "New products found: $num_righe - file CSV ok \n";
}
mysql_close($connessione);
出现此问题的原因是PHP 7.0及以后版本中不推荐使用
mysql.*
语法。您需要更改为mysqli.*
或PDO
您在评论中提到“已经选择了mysqli”,但问题中提供的语法是mysql和mysqli的混合语法。mysqli将数据库连接作为一个参数,而mysql没有
因此,将您的mysql.*
更改为mysqli.*
你的问题举例如下:
mysql\u查询($query,$connessione)
到
mysqli\u查询($query,$connessione)
等等
如果您对不同的
mysqli.*
函数的语法有疑问,我建议您查找它。如果您正在从mysql更改为mysqli,线程是一个很好的起点。打开错误报告,您将看到错误。另外,mysql.*
函数在PHP5.6中被弃用,在PHP7+中被完全删除。在Tobias F.评论的基础上,mysql.*
被替换为mysqli.*
——请记住,从mysql.
升级不是一个简单的查找/替换作业。您应该查看php.net上的文档,了解更多信息。我已经选择了mysqli,但没有任何结果。请求的页面出错您没有使用mysqli,尽管您正试图将mysqli语法与添加的数据库连接参数一起使用。你的mysql必须是mysqli_*