php - 您如何看待这个解决方案而不是使用表名作为 PDO 参数?

标签 php mysql sql pdo

我正在使用 PDO 类连接到 mysql,因为我注意到这是最好和最可靠的方法。我还注意到我不能在表名中使用 PDO 参数,所以我看到了这个问题:Can PHP PDO Statements accept the table or column name as parameter?

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

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

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

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

谢谢大家!

最佳答案

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

您不是第一个在没有数据库设计基础的情况下发明了另一个方轮,然后到社区寻求帮助使其移动的人。

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

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

关于php - 您如何看待这个解决方案而不是使用表名作为 PDO 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118874/

相关文章:

php - 为什么 zend 2 http 不验证我的 ssl 证书?

mysql - 根据 3 个不同的列选择不同的行

sql - 重构一个 PL/pgSQL 函数以返回各种 SELECT 查询的输出

php - 字符串转换为日期时间返回错误的日期

php - 如何在 Ubuntu 14.04 上启用 php5 curl?

php - 从 PHP 中执行我的程序?

mysql - 将 utf-8 编码的文本加载到 MySQL 表中

php - 通过mysql查询检索PHP中的 'œ'字符

c# - 如何使用 C# 进行 Excel 文件的映射

sql - 一对一关系还是一对多关系?