【发布时间】:2015-11-22 02:56:46
【问题描述】:
我需要一些帮助来查找随附代码中的错误。当我使用 if ($conn->query($sql) === TRUE) { 方法运行两个查询中的任何一个时,每个查询都可以正常工作。但是当我尝试将它们与if ($conn->multi_query($sql) === TRUE) { 方法结合使用时。没有上传记录。我在这里做错了什么。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "practice";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connection made...";
$payload_dump = $_POST['payload'];
echo $payload_dump;
$payload_array = json_decode($payload_dump,true);
if(is_array($payload_array)){
foreach($payload_array as $row){
//get the data_payload details
$device = $row['device'];
$type = $row['data_type'];
$zone = $row['zone'];
$sample = $row['sample'];
$count = $row['count'];
$time = $row['date_time'];
$epoch = $row['epoch_stamp'];
$sql = "INSERT INTO data(device, type, zone, sample, count, date_time, epoch_stamp) VALUES('$device', '$type', '$zone', '$sample', '$count', '$time', '$epoch');";
$sql . = "UPDATE data SET date_time = FROM_UNIXTIME(epoch_stamp);";
if ($conn->multi_query($sql) === TRUE) {
//if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
$conn->close();
?>
...是的,我意识到这段代码不安全,但它可以用于我的测试目的。
【问题讨论】:
-
$conn->error;有什么要说的? -
另外,您的更新将尝试更新您的整个表格。使用
where子句。 -
它是从 Arduino 调用的,我不知道如何将错误消息显示回 shell。我的编码技能很基础。
-
echo "Error: " . $sql . "<br>" . $conn->error;应该是在呼应什么。 -
好的,我想我知道问题出在哪里
$sql . = "UPDATE点和等号之间有一个空格。将其更改为$sql .= "UPDATE
标签: php mysql multi-query