【发布时间】:2011-06-15 10:10:06
【问题描述】:
我的数据库中有几列名称相似。 我如何根据它们开头的单词来选择它们? 这是一个示例表格布局:
我尝试使用
选择特定事物(本例中为食物种类)的所有信息$Food = "Vegetable";
mysql_query("SELECT `" . $Food . " %` FROM `Foods`");
但它似乎没有用。
任何帮助将不胜感激:-)
编辑:显然这在我的示例中并不清楚,但我已经知道所有列的第一个单词。列始终相同,并且从未添加或删除任何“食物种类”。 PHP 变量仅用于确定我需要几种设置类型中的哪一种。
【问题讨论】:
-
除了我想不出任何理智的方法来做到这一点之外,这不是一个好主意,原因与 SELECT * 不是一个好主意一样;如果您添加/删除与蔬菜相关的列,您的查询将返回意外结果。
-
我想这里的每个人都明白这个问题。我们所说的是,您将无法在一次调用中创建这样的查询。如果您知道每个列的名称,然后循环进入它们以查找以您的前缀开头的列,然后动态生成 SQL Select 语句。
-
好吧,在根据列名选择数据时不允许使用通配符这一事实让我有点困惑。