1

我正在使用 PDO 类连接到 mysql,因为我注意到这是最好和最可靠的方法。我还注意到我不能在表名中使用 PDO 参数所以我看到了这个问题:PHP PDO 语句可以接受表名或列名作为参数吗?

我在我的应用程序中使用 GET 参数作为表名,现在我的问题是:最好使用

   function buildQuery( $get_var ) 
{
    switch($get_var)
    {
        case 1:
            $tbl = 'users';
            break;
    }

    $sql = "SELECT * FROM $tbl";
}

或者只是在 MySql 中给出一个“显示表”并将此命令产生的每个表与通过 GET 传递的表进行比较?

谢谢你们!

4

2 回答 2

2

尽管“只在 MySql 中给出一个“显示表”并将此命令产生的每个表与通过 GET 传递的表进行比较”的方法是有缺陷的,但这不是主要问题。

你不是第一个在没有数据库设计基础知识的情况下发明另一个方轮然后来到社区寻求帮助以使其运转的人。

你需要把你的想法倒回去一些。
并重新考虑数据库设计,它不应该涉及动态表,每个表都用作某种纯文本文件,只需SELECT * FROM table.

请先学习一些关系数据库设计基础知识,然后创建一个明智的设计,然后按照每个人的方式查询您的表:将所有数据保存在一个表中并使用WHERE子句获取特定数据。

于 2013-10-01T14:49:19.060 回答
0

你的第一个解决方案很好。

但不要通过 get 传递表名。只需传递一个数字,您可以通过切换表名来查找该数字。

于 2013-10-01T14:33:23.743 回答