2017-06-24 25 views
-1

我正在將我的一個應用程序從MYSQL轉換爲MySQLi,但遇到了一個我無法理清的問題。爲什麼我不能在連接文件字符串中使用MySQLi?

我已經使用了多年的這段代碼,並且無法弄清楚如何將其轉換。 我不斷收到錯誤。

Catchable fatal error: Object of class mysqli could not be converted to string in /home/cusrtg/public_html/newg/install.php on line 347

我想寫這個字符串的文件,但它得到文件的寫入功能之前,它給我的錯誤,但是當我使用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()); 

這個工程。 任何原因,這將不安全或可以使用?

+2

爲什麼你這個做那個可怕的呢? –

+1

我只是在學習如何轉換爲mysqli,並沒有獲得所有的差異。我知道你需要在mysqli_query中有連接,那麼你應該如何從配置文件中獲取數據到查詢中?如果第一個配置文件中不存在其他文件,則不能使用$ con。所以....我怎麼寫沒有這個錯誤的配置文件?爲什麼這種方式很糟糕?它一直是用mysql來完成的。用msqli做它有什麼不同?什麼是有趣的呢?什麼方法更好?你怎麼能寫配置文件? – CodeSponge

+1

ummm ,,,,這就是我在做什麼?問一個問題來學習。爲什麼即使發佈,如果你只是想要表達而不給出答案? – CodeSponge

回答

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; 
} 
+0

這是行不通的。您正在使用單引號字符串。 – Terminus

+0

但它工作正常,沒有$ con = – CodeSponge

+0

沒有任何工作可以將字符串寫入配置文件,使用$ con = – CodeSponge

相關問題