php - 选择查询的输出用作 php 中其他查询的输入

标签 php mysql sql

$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/

相关文章:

php - Ruby、PHP 或 Perl 可以为 Python 等代码创建预编译文件吗?

php - Carbon.php 找不到分隔符号 数据丢失

php - MYSQL 选择 'random' 行,但如果再次调用,总是给出相同的随机行

php - Codeigniter:如何在Codeigniter中的单个 Controller 函数中调用多个模型函数

sql - 将数据从 SQL Server 表复制到同一个表

sql - 基于条件使用 Case When 选择列 - SQL Server

PHP:用逗号分隔数组

php - 如何使 CodeIgniter 的分析器和 ajax 请求发挥良好

java - 如果java中特定列为空,则不从excel插入到mysql

mysql - 使用时间戳(或日期时间)作为主键的一部分(或聚簇索引的一部分)