我正在使用MySQL数据库,其中我的表格如下:
Users
中的列如下:
如何构建一个SQL查询:
a)从Users表中选择compId,其中userEmail等于通过mysqli prepared语句提供的电子邮件地址。 b)然后找到一个表格,其名称与compId相匹配,并从中选择所有数据?
我到目前为止尝试过如下(无济于事):
$sql = "
SELECT * FROM table_name
WHERE table_name =
(SELECT compId
FROM Users
WHERE userEmail = ?)
";
提前致谢。
答案 0 :(得分:-1)
您必须从INFORMATION_SCHEMA.TABLES
构建SQL字符串select @querystring := CONCAT('SELECT * FROM ', table_name)
from information_schema.TABLES
where TABLE_NAME =
(SELECT
compId
FROM
Users
WHERE
userEmail = {?})
PREPARE statement from @querystring;
EXECUTE statement
我不是最适合PHP的人,但只要你在我指定为参数的{?}中注入userEmail,这对我有用。