我有个问题,希望有人能帮我解决。
我不得不升级我的vps,从centos 6.x我切换到centos 7.5,所以现在我找到了PHP7.0.1和MySQL5.7
我在下面写的脚本在php5.6和mariadb上运行得很好,现在出错了。
要使此脚本正常工作,什么是有效的解决方案?谢谢大家。
$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);
1条答案
按热度按时间nr7wwzry1#
出现问题的原因是
mysql_*
php7.0和forward中不推荐使用语法。你需要换成mysqli_*
或者PDO
.你在评论中提到你“已经选择了mysqli”,但是你的问题中提供的语法是mysql和mysqli的混合语法。mysqli将数据库连接作为参数,而mysql没有。
因此,改变你的想法
mysql_*
至mysqli_*
.你的问题举例如下:
mysql_query($query, $connessione)
到mysqli_query($query, $connessione)
等。如果你对不同语言的语法有疑问
mysqli_*
函数,那么我建议查一下。如果您要从mysql改为mysqli,那么这个线程是一个很好的起点。