我正在将我的一个应用程序从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());
这是有效的。
这是不安全或可以使用的任何原因?
答案 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;
}