在自訂函數裡面,為什麼不能使用$mysqli->query?
别闹i
别闹i 2017-09-15 11:19:45
0
1
1013

MCXCI}8`AS6FQ6ZJ7TUW)%H.png

#
别闹i
别闹i

全部回覆(1)
Peter Zhu

你的使用有問題呀~~

$mysqli->query()使用的前提是:你創建了$mysqli對象,不知道你在dbconfigs.php檔案中有沒有創建這個對象?

還有,你在下面又用了mysqli_fetch_array()這是典型的面向對程的語句,實在不明白,你究竟想怎麼呼叫資料?

如果你想使用物件導向,請這樣使用:

$mysqli = new mysqli($host,$userName,$password,$dbName);
if ($mysqli->connect_errno){
    die('Error Connected'.$mysqli->connect_error;
}
$result = $mysqli->query('SELECT * FROM table_name');
if ($result && $result->num_rows > 0){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
   //输出数据
 }
 $result->free_result();
}
$mysqli->close();

如果是面向過程,請將以上程式碼修改一下:

$conn = mysqli_connect($host,$userName,$password,$dbName);
if (mysqli_connect_errno($conn)){
    die('Error Connected'.mysqli_connect_error($conn);
}
$result = mysqli_query('SELECT * FROM table_name');
if ($result && mysqli_num_rows($conn,$result) > 0){
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
   //输出数据
 }
 mysqli_free($result);
}
mysqli_close($conn);

請不要將物件導向和物件導向流程混用。

PHP中文網有這二部分的教學:

http://www.php.cn/course/653.html (MySQLi物件)

http://www.php.cn/course/653 .html (MySQLi面向過程)

  • 回覆 $mysqli=new mysqli("localhost","root","root","perform_file") or die("連結資料庫失敗"); $mysqli->query("set names utf8"); //這就是dbconfigs.php裡面的配置 mysqli_fetch_array //這不是把查詢出來的結果集通過數組循環出來嗎?
    别闹i 作者 2017-09-18 09:23:35
  • 回覆 請問dbconfigs.php裡面的設定有問題嗎?
    别闹i 作者 2017-09-18 09:43:54
  • 回覆 mysqli_fetch_array()是將結果集逐條的轉換為陣列輸出,包含索引與關聯
    天蓬老师 作者 2017-09-18 09:29:22
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板