【问题标题】:How can I pass a table field name as dynamically to function? [closed]如何动态传递表字段名称以发挥作用? [关闭]
【发布时间】:2013-06-05 05:53:19
【问题描述】:

我一直在尝试以如下格式动态传递字段名称和表名称:

       function GetTBL($TBL, $FIELDS) 
       {
           ........
           $query = "SELECT $FIELDS FROM $TBL ";
           .....
           ......
        }

但我不知道如何调用该函数以及如何使用它?请帮我。

【问题讨论】:

  • 究竟是什么表?你能发布更多细节吗?
  • 你问的是基于类还是简单函数?
  • @phillip 我想根据功能动态更改 $FIELDS 和 $TBL 值,(我想重用该代码)非常感谢您的回复并为您提供宝贵的时间!现在我明白了!

标签: php field


【解决方案1】:

试试这个

你的功能

    function GetTBL($table,$fields = "*",$limit=10){

        $sql = "SELECT $fields FROM $table  LIMIT $limit";
        $result = mysql_query($sql);
        return $result;

}

在调用这个函数的时候你必须传递参数

例子

$table="mytable";
$fields=" myname,mysurname ";
$result=GetTBL($table,$fields); // other parameters take  default value if you not pass value

您可以根据您的要求通过传递其他参数来使此函数更可重用条件,orderby 等。

【讨论】:

  • 非常感谢 yadav,其实我有点困惑,现在我已经清除了
  • @DRAJI 很好,继续编码 :)
  • @DRAJI 您还应该尝试基于类的编码以实现可重用性目的
  • 是的,我已经使用了 users.class.php 文件中的“用户”类中的那个函数,我从 edit-profile.php 文件中调用了那个函数来将该 DB 列值放入他们的相应的输入字段。但是我在我的项目中重复了该选择查询,现在它可以很好地与可重用的代码配合使用,非常感谢 yadav!
【解决方案2】:

如果您的表名为“mytable”且字段为“myfield”

这样称呼

$results = GetTBL($mytable, $myfield); 

【讨论】:

  • 如何分配 $myfield 值?如果我的字段值为 id, name, email, $myfield="id,name,email";我说的对吗?
  • 非常感谢您的即时回复
  • 你可以这样做,例如$id=5; $email='draji@mail.com';等等。我不确定您要实现的确切目标,但这就是您在 PHP 中分配变量的方式。
猜你喜欢
  • 2013-02-28
  • 1970-01-01
  • 2011-10-01
  • 2023-03-17
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
相关资源
最近更新 更多