Php 仅调用一次foreach内部的MySQL insert
我有一个数组Php 仅调用一次foreach内部的MySQL insert,php,mysql,Php,Mysql,我有一个数组$alert\u note。我迭代了一个循环,并用几个字符串填充它: $n = 0; $alert_note = array(); $results = array(); while($row = mysqli_fetch_assoc($query)){ //some code in here populates the $results[$n] array with results from $row $thisnote = "<b>Location
$alert\u note
。我迭代了一个循环,并用几个字符串填充它:
$n = 0;
$alert_note = array();
$results = array();
while($row = mysqli_fetch_assoc($query)){
//some code in here populates the $results[$n] array with results from $row
$thisnote = "<b>Location alert</b><br>
Alert ID: {$results[$n]['alert-id']}<br>
Start: {$results[$n]['start-formatted']}<br>
End: {$results[$n]['end-formatted']}<br>
Radius: {$results[$n]['radius-km']} km<br>
Distance: {$results[$n]['distance-km']} km<br>
<ul>\n";
//$results[$n]['data'] is a nested array, so iterate through it:
foreach($results[$n]['data'] as $name => $data){
$thisnote .= "<li>$name: $data</li>\n";
}
$thisnote .= "</ul>";
$alert_note[$n] = $thisnote;
$n++;
}
$alert\u note
中的每个字符串都会按预期显示在PHP错误日志中,但只有最后一个字符串插入到MySQL表中。没有抛出任何PHP错误。你知道为什么会这样吗?请在foreach($alert\u note作为$alert\u note\u contents){
这样我就可以得到错误
var_dump($alert_note);然后做这个plz,这样我就能看到是否有任何错误
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{ die("Connection failed: " . $conn->connect_error); }
$sql = "INSERT INTO incident_events (incident, data, time, operator) VALUES ('$incident', '$alert_note_contents', '$now', '$operator')";
if ($conn->query($sql) === TRUE)
{ echo "New record created successfully"; }
else { echo "Error: " . $sql . "<br>" . $conn->error; }
$conn->close();
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误)
{die(“连接失败:”.$conn->connect_error);}
$sql=“插入事件事件(事件、数据、时间、运算符)值(“$incident”、“$alert\u note\u contents”、“$now”、“$operator”)”;
if($conn->query($sql)==TRUE)
{echo“已成功创建新记录”;}
else{echo“Error:“.$sql.”
“$conn->Error;}
$conn->close();
放置一个或死('无法执行查询。'.mysqli\u错误($dblink));在您的mysqli_查询中,让我们看看是否有sql错误。刚刚尝试了一下,就得到了一个由未替换的引号引起的错误。添加了一个mysqli_real_escape_string
,现在一切都正常了。感谢您在正确的方向上所做的工作!我很高兴我帮助了您!
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{ die("Connection failed: " . $conn->connect_error); }
$sql = "INSERT INTO incident_events (incident, data, time, operator) VALUES ('$incident', '$alert_note_contents', '$now', '$operator')";
if ($conn->query($sql) === TRUE)
{ echo "New record created successfully"; }
else { echo "Error: " . $sql . "<br>" . $conn->error; }
$conn->close();