0

每当我运行这段代码时,我都会得到一个资源 ID。我该如何解决:

function ct()
{
    $result = mysql_query("SELECT `Quantity` FROM `shopping cart` WHERE `Customer_id`=1") or die(mysql_error());
    mysql_fetch_array($result);   
    echo "$result";
}
4

2 回答 2

4

您需要通过mysql_fetch_arrayor获取结果mysql_fetch_assoc

$row = mysql_fetch_array($result);

什么是mysql_query回报

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

对于其他类型的 SQL 语句,INSERT、UPDATE、DELETE、DROP 等,mysql_query() 在成功时返回 TRUE,在错误时返回 FALSE。

请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程


有问题的编辑后

这将mysql_fetch_array($result);返回一个与获取的行相对应的数组,并将内部数据指针向前移动。所以你必须将该数组分配给任何变量才能使用

while($row = mysql_fetch_array($result)){   
 echo $row ['field_name'];
}

或者

$row = mysql_fetch_array($result); // want to fetch only one row 
 echo $row ['field_name'];
于 2013-04-19T05:43:47.150 回答
-1
$link = mysqli_connect("HOSTNAME", "USERNAME", "PASS", "DBNAME");    
$result = mysqli_query($link,"SELECT `Quantity` FROM `shopping cart` WHERE `Customer_id`=1") or die(mysql_error());
while($row = mysqli_fetch_array($result))
{
    echo $row['Quantity'];
    echo "<br />";
}
mysqli_close($con);
于 2013-04-19T05:45:33.687 回答