我的php应用程序中有这个select语句:
$result = mysqli_query($con,"SELECT * FROM apps WHERE device.DeviceName = $os ");
我正在尝试选择所有具有变量“$ os”设备名称的“应用”,所有应用都在一个具有设备ID的表中,并且设备表保存设备名称...
答案 0 :(得分:0)
加入您的设备表,否则您无法在WHERE
子句
SELECT *
FROM apps A
INNER JOIN device D
ON D.id = A.deviceID
WHERE D.DeviceName = '$os'
正如评论所暗示的那样,这很容易注射,所以要小心。
答案 1 :(得分:0)
您正在寻找JOIN
。请查看this article以获得更多帮助。
基本上JOIN
根据您指定的条件将两个表组合在一起(您可以有多个连接)。最常用的标准是外键。
您要寻找的联盟是:
SELECT * FROM apps
INNER JOIN device ON apps.deviceID = device.id
WHERE device.DeviceName = $os
此外,通过将参数直接放在查询中,您可以接受SQL注入漏洞。阅读这篇伟大的stack overflow question。