php - 更新查询,如何从其他表获取列名

标签 php mysql sql

我不知道这是否可能,但这就是我想要的:

UPDATE `tbl_users` SET (SELECT `category` FROM `tbl_items` WHERE id = ?) = (SELECT `item` FROM `tbl_items` WHERE id = ?) WHERE id = ? 

但这不可能,我在 PHP 中收到此错误:

Fatal error: Call to a member function bind_param() on a non-object in.

我想更新 tbl_users 中的列,该列的名称位于 tbl_items 中。

最佳答案

我不确定我是否理解了您的问题,但是您可以执行第一个查询,然后使用该查询的结果执行第二个查询吗?所以:

"SELECT `category`, `item` FROM `tbl_items` WHERE `id`=?"

然后使用结果(假设该行保存在 $row 中):

"UPDATE `tbl_users` SET `".$row['category']."` = '".$row['item']."' WHERE `id`=?

关于php - 更新查询,如何从其他表获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466616/

相关文章:

php - 为什么我无法访问我的管理界面?

php - 我正确使用 OOP 了吗?

php - 无法使用 Composer 加载自定义文件

php - regexp php,我需要替换模板的所有单词

java - Morphia 中类似 Mysql 的日期函数

mysql - 如何在 MySQL/MariaDB 中连接两个大表?

SQL Group by Having > 1

php - 600+ memcache req/s 问题 - 帮助!

mysql - 安装 mysql key 环插件

php - 更新记录 dbal innodb silex