【发布时间】:2015-09-18 00:41:16
【问题描述】:
我已经通过 post 方法接收了一些数据我现在将数据写入数组我如何将数据写入 mysql 表?数据接收示例如下所示。我不断收到此错误:错误,查询失败
if (isset($_POST['submit'])) {
$data = [];
foreach($_POST['checkbox'] as $rowNum) {
$data[] = explode("::", $_POST['opt'][$rowNum]);
}
var_dump($data);
$sku =$data[$rowNum][0];
$description =$data[$rowNum][1];
$location =$data[$rowNum][2];
$quantitydate =$data[$rowNum][3];
$link = mysqli_connect("somesite", "****", "*******", "******");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$query ="SELECT * FROM Test WHERE sku = '$sku'";
$testResult = mysqli_query($link, $query) or die('Error, query failed');
if(mysqli_fetch_array($testResult) == NULL){
$sql = "INSERT INTO test (ID, sku, description, location, quantitydate) VALUES ('$ID','$sku', '$description','$location', '$quantitydate',NOW())";
if(mysqli_query($link, $sql)){
echo "Records added successfully.<br /><br />";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
}else
{
echo "Record Already Exist<br /><br />";
}
}
输出样本:
// Output sample (selected row 2 and 4):
array (size=2)
0 =>
array (size=4)
0 => string 'SKU2' (length=4)
1 => string 'DESC2' (length=5)
2 => string 'LOC2' (length=4)
3 => string 'QUAN2' (length=5)
1 =>
array (size=4)
0 => string 'SKU4' (length=4)
1 => string 'DESC4' (length=5)
2 => string 'LOC4' (length=4)
3 => string 'QUAN4' (length=5)
【问题讨论】:
-
有什么问题?循环
$data并使用每一行的值执行INSERT INTO TABLE查询。 -
我编辑了我的帖子我尝试了上述方法,但不断收到此错误:错误,查询失败
-
将
die('Error, query failed')更改为die(mysqli_error($link)),以便您查看失败的原因。 -
为什么在
INSERT查询中同时传递$quantitydate和NOW()?您的值比您分配给的列多。 -
$ID变量在哪里?那应该是一个自动增量列吗?你可以把它放在INSERT之外,它会自动增加。