未定义的索引ID .. PHP

时间:2016-06-03 04:54:28

标签: php mysql mysqli

我正在尝试从mysqli数据库中的表中删除一些数据,但是我收到了该错误。我尝试使用isset,直接编写它而不使用变量,没有任何作用。我究竟做错了什么?

<?php

echo"hello";

$link = mysqli_connect("localhost", "root", "", "documents");

if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}


$ID = $_POST['id'];

$result =  mysqli_query($link, "DELETE FROM document WHERE id='$ID'");


header("Location: connect-db.php");
?>

1 个答案:

答案 0 :(得分:1)

如果您从 URL 获取ID,请使用

$ID =isset( $_REQUEST['id']) ? $_REQUEST['id'] : 0; 

$ID =isset( $_GET['id']) ? $_GET['id'] : 0;

如果您从 POST 变量中提取ID,请使用

$ID =isset( $_POST['id']) ? $_POST['id'] : 0;

$ _REQUEST$ _POST$ _GET是PHP的特殊功能,用于从用户填写的表单中获取变量。使用这些功能时,用户可能会遇到错误 - 注意:未定义的索引。借助PHP isset()可以避免此错误。所以你必须在使用之前检查索引是否存在。