Php 如何根据值获取列名?不可能的?

Php 如何根据值获取列名?不可能的?,php,mysql,Php,Mysql,最近我被这个代码困住了 我想知道与值匹配的列名称 例如: 我有一个名为favorite的表,其中包含用户ID和5个favorite列,其中存储餐厅ID,如下所示: 我将它们打印到listview中,当我删除它们时,我获取restaurantID,然后搜索等于该值的列,然后将该列更新为NULL 对不起,如果我的问题把你弄糊涂了。。。我自己也很困惑 那么我应该如何执行SELECT语句呢?或者我将立即更新? 像 或 $column应该是什么?> 您应该真正了解并创建一个合适的数据库模式,如: 表登录

最近我被这个代码困住了

我想知道与值匹配的列名称

例如:

我有一个名为favorite的表,其中包含用户ID和5个favorite列,其中存储餐厅ID,如下所示:

我将它们打印到listview中,当我删除它们时,我获取restaurantID,然后搜索等于该值的列,然后将该列更新为NULL

对不起,如果我的问题把你弄糊涂了。。。我自己也很困惑

那么我应该如何执行SELECT语句呢?或者我将立即更新?


$column应该是什么?>

您应该真正了解并创建一个合适的数据库模式,如:

表登录:

loginID | name
      1 |  foo
      2 |  bar
表登录\u收藏夹:

loginID | favoriteID
      1 |          1
      1 |          2
      2 |          2
最爱的桌子

favoriteID | name | ...
         1 |  foo | ...
         2 |  bar | ...

现在加入这些表,享受拥有一个干净数据库的感觉…

您真的应该考虑规范化数据库。不要有x个不同的列,而是用loginID和favoriteID字段构建一个表……这样每个用户都可以有任意数量的收藏夹,并且您可以使用
WHERE loginID=?还有favoriteID=?
。谢谢!这和@zombiehunteri的建议是一样的。有可能挤进一张桌子吗?如果不可能或非常复杂,可能我会使用your way=DEverything是可能的,但它并不干净,每个使用模式的开发人员最终都可能会考虑私刑处死您:-)您提到的(login_favorite)表不是变得无用了吗,如果我在favorite表中添加了一列loginID。@PolarBear:否。这样,您可以只为一个登录名分配一个favorite。那不是你想要的。。。
loginID | favoriteID
      1 |          1
      1 |          2
      2 |          2
favoriteID | name | ...
         1 |  foo | ...
         2 |  bar | ...