每当我运行此代码时,我都会获得资源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";
}
答案 0 :(得分:4)
您需要按mysql_fetch_array
或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。
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
有问题的编辑后
此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'];
答案 1 :(得分:-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);