簡體   English   中英

PHP / MySQL查詢錯誤?

[英]PHP/MySQL query error?

頁面在這里: http : //www.arkmediainc.com/ark20test/ark20test/portfolio.php

$result = mysql_query(
    "SELECT * FROM foliobro WHERE itemid >= ".$startid." LIMIT 9"
);

while($row = mysql_fetch_array($result))
{

     $itemid = $row['itemid'];
     $thumb_desc = $row['thumb_desc'];
     $title = $row['title'];
     $category = $row['category'];
     ...
}

我收到此錯誤代碼:

Warning: mysql_fetch_array() expects parameter 1 to be resource, 
boolean given in /home/arkmedia/public_html/ark20test/ark20test/portfolio.php 
on line 49

第49 while($row = mysql_fetch_array($result))實際上是while($row = mysql_fetch_array($result))行。

我正在嘗試獲得以下9個結果,(id為1-11,將來會擴展)為1-9或10-11 +我的查詢出了什么問題,因為我懷疑查詢無法正常運行。 該查詢直接來自phpMyAdmin,所以我不明白為什么它不起作用。

將您的代碼更改為:

$result = mysql_query("SELECT * FROM foliobro WHERE itemid >= ".$startid." LIMIT 9");

if (!$result) {
    die(mysql_error());
}

您的查詢失敗,並將無效結果傳遞給mysql_fetch_array

檢查右側邊欄是否有重復的問題。

從PHP文檔:

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning 
resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and
other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT
statement or mysql_affected_rows() to find out how many rows were affected 
by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have 
permission to access the table(s) referenced by the query.

因此,當您遇到錯誤時,它返回false,這可能是SQL錯誤,但是考慮到查詢的簡單性,這似乎不太可能,因此,我將嘗試確保正確設置您的權限。

順便說一句,請不要使用mysql_ *,請使用PDO或mysqli。 mysql_ *已棄用。

如果沒有更多信息,我想您在運行查詢時$startid變量為空-或者您對表名打錯了字。

運行這個:

$sql = "SELECT * FROM foliobro WHERE itemid >= ".$startid." LIMIT 9;";
echo $sql;
$result = mysql_query($sql);

並在運行查詢時查看是否已定義變量/非空

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM