简体   繁体   English

无法使用for()将php数据插入mysql

[英]Can not insert php data to mysql using for()

i try to insert the data with php to mysql by checking the value if it exists then it will update if no then it will insert, but it fail i use for () what is wrong with my script? 我尝试通过检查值是否存在将php数据插入mysql,然后如果不存在则将更新,然后将其插入,但我使用()失败,我的脚本出了什么问题?

if(isset($_POST['submit'])){
    $fieldA = $_POST['fieldA'];
    $fieldB = $_POST['fieldB'];
    $fieldC = $_POST['fieldC'];
    $fieldD = $_POST['fieldD'];

    if (empty($fieldA)) {
        echo 'fieldA cannot empty';
    } 
    else 
    {
        for ($i=1; $i<= $nomer; $i++) {
            $query = mysql_query("SELECT * FROM tb1 ".
                "WHERE fieldA = '$fieldA' ".
                "AND fieldB = '$fieldB' ".
                "AND fieldC = '$fieldC' ".
                "AND fieldD = '$fieldD'");
            $get1 = mysql_fetch_assoc($query);
            $get2 = mysql_num_rows($query);

            if ($get2 != 0) {
                mysql_query("UPDATE tb1 SET kd_kelas = '2' ".
                    "WHERE fieldA = '$fieldA' ".
                    "AND fieldB = '$fieldB' ".
                    "AND fieldC = '$fieldC' ".
                    "AND fieldD = '$fieldD'");
            } else {

                mysql_query("INSERT INTO tb1(fieldA, fieldB, ".
                    "fieldC, fieldD) VALUES ".
                    "('$fieldA', '$fieldB', ".
                    "'$fieldC', '$fieldD')");
            }


        }
    }


    //re-direct
    $go = "mydata.php";
    redirect($go); 
}

All the methods related with mysql_* is deprecated now. 现在不建议使用与mysql_*相关的所有方法。 Use mysqli_* . 使用mysqli_*

And try this snippet: 并尝试以下代码段:

if (isset($_POST['submit']) && !empty($_POST['fieldA'])) {

    $fieldA = $_POST['fieldA'];
    $fieldB = $_POST['fieldB'];
    $fieldC = $_POST['fieldC'];
    $fieldD = $_POST['fieldD'];

    for ($i = 1; $i <= $nomer; $i++) {
        $sql = sprintf("SELECT * FROM tb1 WHERE fieldA = '%s' AND fieldB = '%s' AND fieldC = '%s' AND fieldD = '%s'",
            $fieldA, $fieldB, $fieldC, $fieldD);
        $result = mysqli_query($link, $sql);

        if (mysqli_num_rows($result) > 0) {
            $updateSql = sprintf("UPDATE tb1 SET kd_kelas = '2' WHERE fieldA = '%s' AND fieldB = '%s' AND fieldC = '%s' AND fieldD = '%s'",
                $fieldA, $fieldB, $fieldC, $fieldD);
            mysqli_query($link, $updateSql);
        }
        else {
            $insertSql = sprintf("INSERT INTO tb1(fieldA, fieldB,fieldC, fieldD) VALUES ('%s','%s','%s','%s')", $fieldA,
                $fieldB, $fieldC, $fieldD);
            mysqli_query($link, $insertSql);
        }
    }

    //re-direct
    $go = "mydata.php";
    redirect($go);
}

here $link is the connection string 这里$link是连接字符串

$link = mysqli_connect('localhost', 'root', 'password', 'database');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM