为什么我不能在连接文件字符串中使用MySQLi?

时间:2017-06-24 06:27:18

标签: php mysql mysqli

我正在将我的一个应用程序从MYSQL转换为MySQLi,但我遇到了一个我无法解决的问题。

我已经使用了这段代码多年了,也无法弄清楚如何转换它。 我不断收到错误。

  

可捕获的致命错误:第347行的/home/cusrtg/public_html/newg/install.php中无法将类mysqli的对象转换为字符串

我正在尝试将此字符串写入文件,但在它获取文件写入功能之前,它会给我错误,但是当我使用MySQL时它很好。 为什么?

这是我正在尝试写入PHP文件的新字符串。

$connection_line = "<?php $con = mysqli_connect('$host', '$db_user', '$db_password', '$db_name') or die(mysqli_error()); ?>";

但是当我以前用MySQL做它时,没有错误就可以正常工作。

$connection_line = "<?php mysql_connect('$host', '$db_user', '$db_password') or die(mysqli_error()); ?>";

我必须添加$con = 到新线让MySQLi工作.... 但它不会让我这样做。为什么?

我在这里错过了什么?

感谢。

确定。所以我尝试了一种有效的新方法。

为文件写入创建连接线的新方法

$connection_line = "<?php \$_host = '$host'; \$_db_user = '$db_user'; \$_db_password = '$db_password'; \$db_name = '$db_name'; ?>";

然后在其他文件中使用

include "connect/connect.php";
$con = mysqli_connect($_host, $_db_user, $_db_password, $_db_name) or die(mysqli_error());
这是有效的。 这是不安全或可以使用的任何原因?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下代码代替mysqli。

<强>代码:

$host = "localhost";
$hostname = "root";
$hostpassword = "";
$db_name = "DB";

$connect = new mysqli($host, $hostname, $hostpassword, $db_name);
if($connect->connect_errno)
{
    echo "Failed to connect to MySQL : ".$connect->error;
}