亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

警告:mysql_fetch_array():提供的參數不是有效的MySQL結果

警告:mysql_fetch_array():提供的參數不是有效的MySQL結果

吃雞游戲 2019-05-29 16:52:35
警告:mysql_fetch_array():提供的參數不是有效的MySQL結果我在嘗試運行時遇到錯誤:<?phprequire_once('includes/DbConnector.php');$connector = new DbConnector();$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100');// Get an array containing the results.// Loop for each item in that arraywhile ($row = $connector->fetchArray($result)){echo $row['title'].'</h3>';echo $row['content'];}?>我有一個鏈接文件:DbConnector.php:<?php////////////////////////////////////////////////////////////////////////////////////////// Class: DbConnector// Purpose: Connect to a database, MySQL version///////////////////////////////////////////////////////////////////////////////////////require_once 'SystemComponent.php';class DbConnector extends SystemComponent {var $theQuery;var $link;//*** Function: DbConnector, Purpose: Connect to the database ***function DbConnector(){    // Load settings from parent class    $settings = SystemComponent::getSettings();    // Get the main settings from the array we just loaded    $host = $settings['dbhost'];    $db = $settings['dbname'];    $user = $settings['dbusername'];    $pass = $settings['dbpassword'];    //the settings    $host = 'localhost';    $db = 'xxx';    $user = 'xxx';    $pass = 'xxx';    // Connect to the database    $this->link = mysql_connect($host, $user, $pass);    mysql_select_db($db);    register_shutdown_function(array(&$this, 'close'));}//*** Function: query, Purpose: Execute a database query ***function query($query) {    $this->theQuery = $query;    return mysql_query($query, $this->link);}//*** Function: getQuery, Purpose: Returns the last database query, for debugging ***function getQuery() {    return $this->theQuery;}//*** Function: getNumRows, Purpose: Return row count, MySQL version ***function getNumRows($result) {    return mysql_num_rows($result);}//*** Function: fetchArray, Purpose: Get array of query results ***function fetchArray($result) {    return mysql_fetch_array($result);}有誰知道問題是什么?
查看完整描述

3 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

您的查詢必須有一個問題,導致$ result成為無效資源。

嘗試在運行查詢的行之后檢查mysql_error()

編輯:

實際上,我會將您的DBConnector類函數query()更改為類似以下內容,以便在查詢錯誤時拋出可識別的錯誤:

function query($query) {
    $this->theQuery = $query;
    $queryId = mysql_query($query,$this->link);
    if (! $queryId) {
        throw new Exception(mysql_error().".  Query was:\n\n".$query."\n\nError number: ".mysql_errno();
    }
    return $queryId;}


查看完整回答
反對 回復 2019-05-29
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

此錯誤表示您的查詢失敗。mysql_query()如果發生錯誤則返回false,然后將false傳遞給mysql_fetch_array()觸發錯誤消息的false 。

由于缺少/錯誤的表或字段,您的查詢可能會失敗。要查看詳細錯誤,請打印出mysql_error()的結果。

mysql_*庫已棄用。建議升級到MySQLiPDO或PDO。


查看完整回答
反對 回復 2019-05-29
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

// Load settings from parent class

$settings = SystemComponent::getSettings();


// Get the main settings from the array we just loaded

$host = $settings['dbhost'];

$db = $settings['dbname'];

$user = $settings['dbusername'];

$pass = $settings['dbpassword'];


//the settings

$host = 'localhost';

$db = 'xxx';

$user = 'xxx';

$pass = 'xxx';

你的意思是重新分配連接變量嗎?或者是你忘記取出幾行存根代碼?或者只是一個示例來顯示$ settings包含的內容?



查看完整回答
反對 回復 2019-05-29
  • 3 回答
  • 0 關注
  • 1040 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號