如何在SQL查询中使用变量名访问表

时间:2019-06-02 08:00:08

标签: php mysql sql

我的数据库中有多个表,名为教师1,教师2...。我试图使用变量$id.

访问它们。

我写下了以下代码。

$query = "SELECT * FROM table.$id";  

我如何使用变量访问那些不同的表。

2 个答案:

答案 0 :(得分:0)

从问题文本中我不清楚您的$id变量是否包含完整的表名或某种数字。

但是,无论哪种情况,您都必须对$query变量做些微调整。

如果$id包含表的全名(即teacher1):

$query = "SELECT * FROM " . $id;

如果$id包含用于标识它是哪个教师表的数字(即1、2、3等):

$query = "SELECT * FROM teacher" . $id;

答案 1 :(得分:0)

学习使用参数!

$stmt = $conn->prepare($query = "SELECT t.* FROM table t where t.id = ?");
$stmt->bind_param("i", $id);

$stmt->execute();

不要用参数值来查询字符串!这会引入SQL注入风险,可能会引入难以调试的语法错误,并可能降低性能。