【发布时间】:2021-01-26 15:10:35
【问题描述】:
我将一个小型服务站点从 AlterVista 门户转移到我的 NAS Synology,运行良好的相同代码现在不再在我的 NAS 上运行。从连接错误到 MariaDB。我已经阅读了有关此问题的论坛,但这是另一个系统(不是 pc,而是具有自己的应用程序的 nas)。我正在使用端口 3307,因为 mariadb10 正在侦听该端口。 (而mariadb 5正在监听3306端口也可以查看)
在 NAS 上,我已经安装了 MariaDB、PHP、PHP admin(可以很好地连接到 mariadb)、Apache HTTP Server 2.2,以及所有需要安装 PHP 5,7 的驱动程序和选项(mysqli、pdo 驱动程序、和其他选项)。
<?php
error_reporting(E_ALL);
$USERNAME = "root";
$PASSWORD = "xxxxxxx"; //null
$DBSERVER = "127.0.0.1:3307"; //127.0.0.1:3306 mariadb5
$DBNAME = "miodb";
if(!($db_connection = new mysqli($DBSERVER, $USERNAME, $PASSWORD, $DBNAME)))
die('Connect Error (' . $db_connection->connect_errno . ') '. $db_connection->connect_error);
if(!($db_selection = $db_connection->select_db($DBNAME)))
die ("Errore nella selezione del DB.");
$query = $db_connection->query("SELECT * FROM MATERIALE");
while($cicle=$query->fetch_array(MYSQLI_ASSOC)){
$url=$cicle['FOTO'];
echo "<tr>
<td>".$cicle['CODICEARTICOLO']."</td>
<td><img src='".$url."' width='50' height='50' /> </td>
<td>".$cicle['DESCRIZIONE']."</td>
<td>".$cicle['PREZZO']." Euro</td>
</tr>";
}
$query->close();
$db_connection->close();
?>
警告:mysqli::__construct(): (HY000/2002): Connection denied in >/volume1/web/listino.php on line 111 警告: mysqli::select_db(): Couldn't fetch mysqli >in / volume1/web/listino.php 第 114 行 Errore nella selezione del DB。
【问题讨论】:
-
mysqli_connect(host, username, password, dbname, port, socket) 请按照这个
-
留空跟随下面的评论。还要检查您的连接不应该在查询之前或过早关闭。即 $db_connection->close();
-
请不要使用 PHP 5。您也不应该使用 Apache 2.2。有 Apache 2.4 可用。
标签: php mysqli mariadb synology