【问题标题】:TableName of the result query结果查询的表名
【发布时间】:2011-09-18 01:09:11
【问题描述】:

当查询结果存在时,我想知道结果正确的行的名称:

$query = "SELECT Id FROM Programacao WHERE ID = 1";
$curDate = date("Y-m-d H").':00:00';
$query = "SELECT Id 
    FROM Programacao 
    WHERE Data1 = '$curDate'
       OR Data2 = '$curDate'
       OR Data3 = '$curDate'"
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){}

简单地说它的if(Data1 == curDate)return Data1; if(Data2 == curDate)return Data2....

对不起,我的英语不好。

【问题讨论】:

  • 为什么需要这些信息?您在编写查询时就知道表名,那么为什么要向数据库询问您已经知道的东西,或者您是否将“表”与“行”混淆了?
  • 我不明白你的问题。您不是在该语句中查询单个表吗?
  • 您的表名为 Programacao。此外,该查询将结果集限制为空或返回“1”。请说明您要做什么。

标签: php mysql tablename


【解决方案1】:

嗯,从您的查询中应该是Programacao。但如果您需要动态地使用它,您可以尝试mysql_table_name()mysql_field_name() 之类的函数。

【讨论】:

    【解决方案2】:

    选择语句进入表格。
    它进入结果集。
    结果集没有名称,它们只是。

    http://en.wikipedia.org/wiki/Result_set

    【讨论】:

      【解决方案3】:

      也许你是这个意思? (使用UNIONUNION ALL):

      $query = "
        SELECT Id
             , 'Data1' AS name 
        FROM Programacao 
        WHERE Data1 = '$curDate'
      UNION 
        SELECT Id
             , 'Data2' 
        FROM Programacao 
        WHERE Data2 = '$curDate'
      UNION
        SELECT Id
             , 'Data3' 
        FROM Programacao 
        WHERE Data3 = '$curDate'
               " ;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 1970-01-01
        相关资源
        最近更新 更多