var_dump显示 null,但从查询返回值


var_dump shows null, but value is returned from query

值从查询返回$taxonomy_id,但var_dump($taxonomy_id)显示空。

 $stmt = $db->query("SELECT rt.taxonomy_id FROM request_taxonomy rt LEFT JOIN request_aspects ra ON ra.aspect_id = rt.request_aspects_id
                WHERE rt.requests_id = $requestID and rt.sort_order=$old_sort_order");
            $taxonomy_id = $stmt->fetchColumn();    

            for($i=0;$i<$trcount;$i++)
                {

            $stmt = $db->prepare("INSERT INTO request_meta (requests_id,request_taxonomy_id,meta_value,staff_id) VALUES($requestID,$taxonomy_id,?,93)");
            $stmt->bindValue(1, $_REQUEST['paraname'.$i]);
            $stmt->execute();
            $taxonomy_id+=6;    
             }

因此$taxonomy_id+=6;不起作用,尽管我付出了所有努力使其工作。

$taxonomy_id++有效,但我想添加以向其添加一个常量数字。

试试这个

$stmt = $db->prepare("INSERT INTO request_meta (requests_id,request_taxonomy_id,meta_value,staff_id) "
        . "VALUES($requestID,?,?,93)");
for ($i = 0; $i < $trcount; $i++) {
  $stmt->execute([$taxonomy_id, $_REQUEST['paraname' . $i]]);
  $taxonomy_id += 6;
}

来自PHP手册:PDOStatement::fetchColumn()将"从结果集的下一行返回单列,如果没有更多的行,则返回FALSE。

因此,如果它返回 FALSE(布尔值),则不能使用递增运算符 (+=)。