我有一个页面,其中包含一个html表,其中包含在php函数的帮助下从数据库中检索的数据。表格中的一列是编辑按钮。单击编辑按钮,导航到更新表单页面。我的数据库中的行是 para_id =是参数编号,id =用户id,parameter_no = row id,para_date,para_time,reading,type
progpre.php(表页)
<?php
if(!$blood_pressure) {
echo '<td><h4>Nothing To Display. Add In Details<h4><td>';
}
else {
foreach ($blood_pressure as $single) {
echo "<tr>";
echo "<td>$single[para_date]</td>";
echo "<td>$single[para_time]</td>";
echo "<td>$single[reading] $single[type]</td>";
echo "<td><form action='updatepressure.php' method='GET'><input type='hidden' name='edit' value='$single[parameter_no]'><input type='submit' value='Edit' class='btn btn-primary' onclick='updatepressure.php'></form></td>";
echo "</tr>";
}
}
?>
updatepressure.php(更新页面)
if(isset($_POST['submit']))
{
$_edit=print_r( $_GET['edit']);
$para_date = print_r($_POST['para_date']);
$para_time = print_r($_POST['para_time']);
$reading = print_r($_POST['reading']);
$type = print_r($_POST['type']);
//$parameter_no = print_r($_POST['edit']);
global $conn;
if ($stmt = $conn->prepare("UPDATE `tracking_para` SET `para_date`=?,`para_time`=?,`reading`=?,`type`=? WHERE `parameter_no`=$_edit ")) echo "hi";
{
$stmt->bind_param("ssss", $para_date, $para_time, $reading, $type);
$stmt->execute();
$result = $stmt->execute();
}
}
?>
我在哪里出错了。
答案 0 :(得分:1)
您确定要将print_r()的输出插入数据库吗?
如果是这样,这里的错误是您没有为print_r()
的调用设置$ output参数。此参数默认为false
,因此它不会返回您希望插入数据库的字符串。
更新您的代码,如下所示:
if(isset($_POST['submit']))
{
$_edit=print_r( $_GET['edit'],true);
$para_date = print_r($_POST['para_date'],true);
$para_time = print_r($_POST['para_time'],true);
$reading = print_r($_POST['reading'],true);
$type = print_r($_POST['type'],true);
//$parameter_no = print_r($_POST['edit'],true);
...
答案 1 :(得分:0)
您使用POST
if(isset($_POST['submit']))
但是使用GET发送数据
echo "<td><form action='updatepressure.php' method='GET'><input type='hidden' name='edit' value='$single[parameter_no]'><input type='submit' value='Edit' class='btn btn-primary' onclick='updatepressure.php'></form></td>";
这种方式无法正常工作..
尝试在所有代码部分使用POST