簡體   English   中英

sql查詢只放入一個記錄而不是多個?

[英]sql query only putting in one record not multiple?

嗨,我只是想執行此php / sql查詢,我嘗試使用此代碼一次輸入多個記錄,但只輸入一個,而不輸入其他...

碼:

    <?php
        $results=$_POST['results'];
        $day=$_POST['day'];
        $lmID=$_POST['lmID'];
        $cID=$_POST['cID'];
        $count_cID = count($_POST['cID']);

        for($i=0;$i<$count_cID ;$i++){
        $_results = mysql_escape_string($results[$i]);
        $_day = mysql_escape_string($day[$i]);
        $_lmID = mysql_escape_string($lmID[$i]);
        $_cID = mysql_escape_string($cID[$i]);

        $sql = mysql_query("INSERT INTO Club (results, day, lmID, cID) VALUES ('$_results', '$_day', '$_lmID', '$_cID')");
        $result = mysql_query($sql);
    }

    ?>

HTML格式:

            League Match ID:
            <?php echo $lmID;?> <input type="hidden" name="lmID[]" value="<?php echo $lmID; ?>" >
            Competitor ID:
            <?php echo $cID;?> <input type="hidden" name="cID[]" value="<?php echo $cID; ?>" >
            Result:
            <input type="text" name="results[]">
            Day:
            <input type="text" name="day[]">

            <input type="submit" name="submit">
        </form>
$sql = mysql_query("INSERT INTO Club (results, day, lmID, cID) VALUES ('$_results', '$_day', '$_lmID', '$_cID')");
$result = mysql_query($sql);

應該:

$sql = <<<EOF
INSERT INTO Club (results, day, lmID, cID) 
VALUES ('{$_results}', '{$_day}', '{$_lmID}', '{$_cID}')
EOF;
$result = mysql_query($sql);

如其他注釋中所述,請不要使用mysql_數據庫函數-使用PDO或mysqli_函數。 不推薦使用mysql_query (有充分的理由)。 在其他庫中,您的語句似乎也可以成為PREPARE的候選對象,然后再執行EXECUTE。 例如使用PDO。

$sql = <<<EOF
INSERT INTO Club (results, day, lmID, cID) 
VALUES (?, ?, ?, ?)
EOF;
$stmt = $db->prepare( $sql);

for($i=0;$i<$count_cID ;$i++){
    // escape your data here - you might not need to with PDO
    $result = $stmt->execute( array( $_results, $day, $_lmID, $_cID));
}

確保$count_cID大於1(一)。 它不是,看起來像。 我指的是此變量的原因是您將$i與它進行比較,並且在for循環中,如果它不大於1,則循環內容將僅執行一次,因為在第二次嘗試時,條件不會驗證一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM