如何验证PHP中是否存在行?

时间:2018-09-29 22:04:05

标签: php mysql

我必须验证表中是否存在行。

我这样做,响应为假,但问题是表中存在该行。

 $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 

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

1 个答案:

答案 0 :(得分:0)

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

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

第二,您忘记为if($ Qcheck-> fetch()=== false){

第三,不受限制的MySQL括号!这是有效的MySQL查询:从table_products LIMIT 1中选择exist(选择product_wharehouse_id)。