我使用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中给出一个"show tables“,并将此命令产生的每个表与通过GET传递的表进行比较?
谢谢大家!
发布于 2013-10-01 22:49:19
尽管“只需在MySql中给出一个"show tables”,并将此命令产生的每个表与通过GET传递的表进行比较“的方法是有缺陷的,但它不是主要问题。
你不是第一个在没有数据库设计基础知识的情况下,发明了另一个方轮,然后来到社区寻求帮助让它移动的人。
你需要把你的想法倒回去一些。
重新考虑数据库设计,它永远不应该涉及动态表,每个动态表都用作某种纯文本文件,只使用SELECT * FROM table进行查询。
请先学习一些关系数据库设计的基础知识,然后创建一个合理的设计,然后像每个人一样查询您的表:将所有数据保存在一个表中,并使用WHERE子句来获取特定数据。
发布于 2013-10-01 22:33:24
你是第一个解决方案很好。
但是不要通过get传递表名。只需传递一个数字,您可以通过切换表名来查找该数字。
https://stackoverflow.com/questions/19118874
复制相似问题