簡體   English   中英

在數據庫中同時插入兩個數據數組

[英]Insert two arrays of data in the same time in a database

我有兩個數組$ fuel和$ hours,它們的數據數量相同,我想同時將它們插入數據庫中。

這是我所擁有的:

$fuellength = count($fuel);
$f = 0;             

for($f=0;$f<$fuellength;$f++){ 
if ($fuel[$f] > 0){
    if (
    mysql_query("INSERT INTO grafiku (vehicle_plate, fuel_level, date_hour) VALUES (".$userid.", ".$hours[$f].",     '".$fuel[$f]."')");
        ) 
        echo "data has been inserted"; 
     else 
        echo "data has not been inserted";
 } //end if 
}//end for                      

它什么都沒顯示! 對數組使用“ for”循環是否正確? 或者我應該只使用“ foreach”? 如果是這樣,我如何循環同時拋出兩個數組?

提前致謝! 最好的祝福

如果您的代碼就是這樣,您將看不到任何東西,因為您遇到了致命的php錯誤。 您有一個ELSE語句,而沒有起始IF語句。 從您的IF語句中刪除注釋,它應該可以再次工作。

$fuellength = count($fuel);
$f = 0;             

for($f=0;$f<$fuellength;$f++){ 
if ($fuel[$f] > 0){
    $qryStr = "INSERT INTO grafiku (vehicle_plate, fuel_level, date_hour) VALUES (".$userid.", ".$hours[$f].",     '".$fuel[$f]."')";
    echo $qryStr."/br"; 
 } 
}

檢查是否正在獲取查詢及其值。

假設您已與MySQL Server建立連接:

$cn = mysql_connect("hostname", "username", "password");

假設您已選擇數據庫:

mysql_select_db("databasename", $cn);

您的邏輯是正確的。 但是您的SQL插入順序與您的字段不匹配。 您正在嘗試將$fuel[$f]數據插入date_hour字段。

$f = 0;
$added = 0; 
$noAdded = 0;             

while($f < count($fuel))
{ 
    if ($fuel[$f] > 0) 
    { 
        if(mysql_query("INSERT INTO grafiku 
                   (vehicle_plate,   fuel_level,    date_hour) 
            VALUES (".$userid.",   ".$fuel[$f].", '".$hours[$f]."')"
        ))
            $added++; 
        else 
            $noAdded++;
    }

    $f++;
}

//Then you can display additional information after inserting is done. 

echo $added . " data has been added to table.";
echo "<br />";
echo $noAdded . " data could not be added to table.";

您的代碼中有一個錯誤,語法分析錯誤:語法錯誤,第12行的<文件名>中出現意外的T_ELSE

<?php

   $fuellength = count($fuel);
   $f = 0;             

  for($f=0;$f<$fuellength;$f++){ 
  if ($fuel[$f] > 0){
  if (mysql_query("INSERT INTO grafiku (vehicle_plate, fuel_level, date_hour) VALUES     (".$userid.", ".$hours[$f].",     '".$fuel[$f]."')")) 
    echo "data has been inserted"; 
     else 
    echo "data has not been inserted";
 } //end if 
 }//end for
?>

暫無
暫無

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

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