首页 > 解决方案 > 如何验证PHP中是否存在一行?

问题描述

如果行存在,我必须在表内验证。

我这样做了,响应是错误的,但问题是表中存在该行。

 $Qcheck = $this->db->prepare('select exists(select products_warehouse_id) from :table_products LIMIT 1');

      if ($Qcheck->fetch() === false) {
        $sql = <<<EOD
ALTER TABLE :table_products ADD products_warehouse_id Int(11) NULL AFTER products_type;
EOD;
}
        $this->db->exec($sql);

products_warehouse_id 存在于表中,但如果我写 products_warehouse_id_1 我有这个错误

Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'products_warehouse_id_1' in 'field list' in 

我的目标是当我安装一个应用程序时,我想验证该行是否存在于表中。如果不创建行。

标签: phpmysql

解决方案


有几种方法可以解决此问题。

首先,您的 products_wharehouse_id 似乎拼写不正确。你是说仓库吗?

其次,您忘记关闭 if ($Qcheck->fetch() === false) {

三、不平衡的MySQL括号!这是有效的 MySQL 查询: select exists(select products_wharehouse_id) from table_products LIMIT 1. 您缺少 exists 函数的括号


推荐阅读