-1
数据未从数据库中删除。我可以添加和查看。无法使用php从数据库中删除
如果我把print_r($submissions);
我可以看到我的数据。例如。 Array ([0] => 2)
$count++;
总是显示0
,除非我将计数置于if语句之外。 echo "we got an error <br>";
将显示与提交要删除的次数相同的次数。我测试了SQL查询并且工作正常。不知道现在去哪里,所以任何帮助表示赞赏。以下相关代码:
型号:
function deleteSubmission($conn,$submission_id)
{
$query = "DELETE FROM submissions WHERE submission_id=:submission_id";
$stmt = $conn->prepare($query);
$stmt->bindValue(':submission_id',$submission_id);
$affected_rows = $stmt->execute();
if($affected_rows==1)
{
//echo $affected_rows;
echo ($affected_rows) ? "true" : "false";
echo " working ";
return true;
}else{
//echo $affected_rows;
echo ($affected_rows) ? "true" : "false";
echo " not working ";
return false;
}
}
控制器:
//they didn't submit the form
if(!isset($_POST["deleteSubmissionsBtn"]))
{
header("Location:all-submissions-delete.php");
exit;
}
$msg;
//validate
if(isset($_POST['submissions']))
{
$submissions=$_POST['submissions'];
$conn=getConn();
$count=0;
foreach ($submissions as $submission_id)
{
if(deleteSubmission($conn,$submission_id))
{
$count++;
}
else{
echo "we got an error <br>";
}
}
print_r($submissions);
//echo $submission_id;
$conn=NULL;
$msg="Successfully deleted $count submissions";
}else{
$msg="You need to select some submissions to delete";
}
include("views/delete-feedback-view.php")
?>
查看:
echo "<form action='delete-submissions.php' method='POST'>";
foreach($allSubmissions as $submission)
{
echo "<div>";
echo "<label>".$submission->title."</label>";
echo "<input type='checkbox' value='".$submission->submission_id."' name='submissions[]'/>";
echo "</div>";
}
echo "<input type='submit' name='deleteSubmissionsBtn' value='delete submissions'>";
echo "</form>";
执行查询后,检查执行错误(如果有)。 http://stackoverflow.com/questions/3999850/pdo-error-message – tilz0R
还检查您的错误日志,如果有任何错误消息,可能会帮助你。 –