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