我正在使用此PHP代码保存订单详情。
public function saveShippingDetails($factoryid,$date,$noOfPlaces,$jsonStr){
$result = mysql_query("insert into shipping_details(FKFactoryID,shippingDate,NoOfPlaces) values('$factoryid','$date','$noOfPlaces')");
//check for successful store
if($result){
//get shipping details
$detailsID = mysql_insert_id();//last inserted id
$result1 = mysql_query("select * from shipping_details where shippingDetailsID=$detailsID");
$count=0;
$arrjson = json_decode($jsonStr,true); //gets the parent json object
$length = sizeof($arrjson['places']);
for($i=0; $i<$length; $i++){
$city = $arrjson['places'][$i]['city'];
$longitude = $arrjson['places'][$i]['longitude'];
$latitude = $arrjson['places'][$i]['latitude'];
$result2 = mysql_query("insert into delivery_places(FKShippingDetailsID,city,longitude,latitude) values('$detailsID','$city','$longitude','$latitude')"); //line 1
if($result2){
++$count;
}
}
if($count==$length){
return mysql_fetch_array($result1);
}else{
return false;
}
}else{
return false;
}
}
但是第1行(已注释)的插入部分尚未保存在数据库中。虽然我使用$detailsID
获得了返回值,这意味着($count==$length)
的条件也变为真。我检查了delivery_places
表,但数据尚未保存。有什么问题?
我在000webhost
中托管了这些脚本感谢。
答案 0 :(得分:0)
我建议您尝试使用mysql_commit()
功能。数据可能已插入但未提交给数据库。
在开始插入之前或之前,请设置以下条件:
mysqli_autocommit($con,TRUE);
如果没有错误,我只能认为数据没有被提交。
我不熟悉PHP连接mysql的语法,但是你也不应该在mysql_query()
函数中提到连接变量吗?