我有两个数组$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";
}
}
检查您是否正在获取查询和值
您的代码中有错误,解析错误:语法错误,<中的意外T_ELSE;文件名>第12行
<?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
?>
假设您已经与MySQL服务器建立了连接:
$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.";