Php 将多条记录插入mysql和mysql\u受影响的\u行()

Php 将多条记录插入mysql和mysql\u受影响的\u行(),php,mysql,Php,Mysql,我正在从表单上传csv。我正在尝试使用mysql受影响的行来确定它是否成功。数据正在上载到表中,但受mysql\u影响的\u行的计算结果不为true。请帮助: <?php session_start(); $idnewtest1 = $_GET['idnewtest1']; move_uploaded_file($_FILES["fileCSV"]["tmp_name"], "quiz/" . $_FILES["fileCSV"]["name"]); $

我正在从表单上传csv。我正在尝试使用mysql受影响的行来确定它是否成功。数据正在上载到表中,但受mysql\u影响的\u行的计算结果不为true。请帮助:

<?php
session_start();
$idnewtest1 = $_GET['idnewtest1'];

      move_uploaded_file($_FILES["fileCSV"]["tmp_name"],
      "quiz/" . $_FILES["fileCSV"]["name"]);

    $objConnect = mysql_connect("localhost","root","...") or die(mysql_error()); // Conect to MySQL
    $objDB = mysql_select_db("testing");

$objCSV = fopen("quiz/".$_FILES["fileCSV"]["name"], "r");
fgetcsv($objCSV, 1000, ","); // skip first row

        while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
        $strSQL = "INSERT INTO ex_question1 ";
        $strSQL .="(id,test_name,q_nr,....) ";
        $strSQL .="VALUES ";
        $strSQL .="('0','".$idnewtest1."','".$objArr[0]."'....) ";
        $objQuery = mysql_query($strSQL);
    }
    fclose($objCSV);

if (mysql_affected_rows() > 1) {
echo "Import completed.";
}    

?>

通过while循环处理多个事务,因此多个insert语句,
每个返回1到mysql\u受影响的\u行()


第二件事是,每次mysql\u impact\u row()返回1时,函数out-side while循环和条件>1都不会满足bcz…

有多个事务正在通过while循环处理,所以多个insert语句, 每个返回1到mysql\u受影响的\u行()

当循环和条件>1时,第二件事是每次mysql\u infected\u row()返回1时都不满足bcz…

Do:


<?php
$affectedRows = 0;
    while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
        $strSQL = "INSERT INTO ex_question1 ";
        $strSQL .="(id,test_name,q_nr,....) ";
        $strSQL .="VALUES ";
        $strSQL .="('0','".$idnewtest1."','".$objArr[0]."'....) ";
        $objQuery = mysql_query($strSQL);
        $affectedRows +=mysql_affected_rows();
    }
    fclose($objCSV);

if ($affectedRows > 1) {
echo "Import completed.";
}    
?>

做:



您可以使用此
INSERT
查询

INSERT INTO ex_question1
(id,test_name,q_nr,....)
VALUES (...............),
(...............),
(...............),
(...............);

这将一次性插入所有行

您可以使用此
插入
查询

INSERT INTO ex_question1
(id,test_name,q_nr,....)
VALUES (...............),
(...............),
(...............),
(...............);
这将一次性插入所有行