$id=mysql_query("Select customerId from LoginInfo where username='$un'");
$res4=mysql_query("SELECT d.title, dateRented, totalRent
FROM CustomerDvdRental c, DvdInventory d
WHERE c.customerId = '$ID[0]' && d.dvdId = c.dvdId");
我如何使用 $id
作为我的其他选择查询的输入请帮助我尝试了一切我猜它不起作用。
最佳答案
您需要从查询对象中获取一行,因为 mysql_query 只返回一个资源,而这不能像数组一样访问。所以在第二行包括代码:
$id = mysql_fetch_array($id);
这应该可以解决您的问题。
但最后我会清理代码以更简洁。这将使您的代码更易于维护。例如
$resource=mysql_query("Select customerId from LoginInfo where username='$un'");
$loginInfo = mysql_fetch_array($resource);
$res4=mysql_query("SELECT d.title, dateRented, totalRent
FROM CustomerDvdRental c, DvdInventory d
WHERE c.customerId = ".$loginInfo[0]." && d.dvdId = c.dvdId");
引用资料:这将向您展示一些示例并告诉您该函数的作用:http://us2.php.net/mysql_query
注:我觉得这种做法不好。您根本没有检查输入,甚至没有转义 sql 字符。这会打开您的应用程序以进行 sql 注入(inject)。 http://en.wikipedia.org/wiki/SQL_injection 为避免这种情况,我可能会重写整个代码库以使用自动转义引号等的 mysqli,然后将您的输入检查到白名单。
关于php - 选择查询的输出用作 php 中其他查询的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181606/