使用PHPExcel在FOR循环内的IF语句中执行查询

问题描述 投票:-1回答:1

我有一个关于在IF语句中执行查询的问题。我将从我希望该过程如何运行开始。最初我有一个excel文件,我想上传到MYSql数据库。使用PHPExcel,我可以从excel文件中获取数据。现在,我想要做的是excel文件中的每个数据,它将与数据库中的现有数据进行比较。如果数据匹配,那么它将执行查询以插入到success表中,但是如果数据不匹配,它将执行查询以插入到失败表中。

这是我的代码,代码现在只是跳过IF条件并执行失败条件。

$query1 = "SELECT EXISTS(SELECT 1 FROM part WHERE partno = :partno)";
$statement1 = $connect->prepare($query1);

$query2 = "INSERT INTO stock (userid, vendorid, partno, partname) 
VALUES (:userid, :vendorid, :partno, :partname)";
$statement2 = $connect->prepare($query2);

$query3 = "INSERT INTO fail (userid, vendorid, partno, partname) 
VALUES (:userid, :vendorid, :partno, :partname)";
$statement3 = $connect->prepare($query3);





foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
{
 $highestRow = $worksheet->getHighestRow();
 for($row=2; $row<=$highestRow; $row++)
 {
   $statement1->execute(
       array(
        ':partno'           =>  $worksheet->getCellByColumnAndRow(0, $row)->getValue()
       )
   );
   if ($statement1=="1"){

        $statement2->execute(
            array(
                ':userid'           =>  $_SESSION['user_id'],
                ':vendorid'         =>  $_SESSION['vendorid'],
                ':partno'           =>  $worksheet->getCellByColumnAndRow(0, $row)->getValue(),
                ':partname'         =>  $worksheet->getCellByColumnAndRow(1, $row)->getValue(),

            )
        );

    }
    else{

        $statement3->execute(
                array(
                    ':userid'           =>  $_SESSION['user_id'],
                    ':vendorid'         =>  $_SESSION['vendorid'],
                    ':partno'           =>  $worksheet->getCellByColumnAndRow(0, $row)->getValue(),
                    ':partname'         =>  $worksheet->getCellByColumnAndRow(1, $row)->getValue(),

                )
            );

        }
 }
} 

任何帮助表示赞赏。谢谢

php mysql pdo prepared-statement phpexcel-1.8.0
1个回答
0
投票

$statement1是一个PDOStatement对象,所以你无法将它与"1"进行比较。你需要做的是获取查询的结果并将其与1进行比较。你可以用fetchColumn做到这一点:

if ($statement1->fetchColumn() == 1) {
© www.soinside.com 2019 - 2024. All rights reserved.