要删除查询! 我已经尝试过已有的帖子。 它没用。

My first page to delete queries selected by user query.php which is working absolutely fine:

<form method=post  action="delete.php"> 
List of queries<br/>
<?php
$ebits = ini_get('error_reporting');
error_reporting($ebits ^ E_NOTICE);
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("testdb") or die(mysql_error());
echo "<br />";
$query = "select * from queries ";
$result =  mysql_query($query) or die(mysql_error()); 
$count=mysql_num_rows($result);
while($row = mysql_fetch_array($result))  
{ 
print "<input type='checkbox' name='Query[]' value=\"".$row['queryId']."\"> "; 
echo "     ". $row['name']."      ". $row["address"]."           ". $row["contactNo"]."   

      ". $row["query"];
echo "<br />"; 
}  
?>
<input type="submit" value="Delete" name="Delete"> 
<br/>  
</form>

I've tried with following codes for second page delete.php but nothing seems to work.
Code1:

<?php
if($_POST['Delete'])  
{  
if(count($_POST['checkbox']) > 0) {  
   foreach($_POST['checkbox'] as $checkbox)  
   {  
        $del_id=$checkbox;  
        $sql = "DELETE * FROM queries WHERE `queryId`= '$del_id'";  
        $result = mysql_query($sql);  
        mysql_error();  

   }  
   echo "Selected Rows deleted";  
} else {  
     $NEW="Nothing to Delete";  
}

}
?>

Code2:

<?php
if(($_POST['Delete']))
{
$count=array();
$count=$_POST['checkbox'];
for($i=0;$i<count($count);$i++){
        $del_id = $checkbox[$i];
        $sql = "DELETE FROM queries WHERE queryId='$del_id' ";
        $result = mysql_query($sql);
}
$NEW="Selected records Deleted";
}
var_dump($_POST['checkbox']);
var_dump($count);

?>

Your checkbox names are "Query", but you're accessing it as $_POST['checkbox']. This should be $_POST['Query'] instead.

EDIT checking from your updated code:

if($_POST['Delete']) { 
  if(count($_POST['Query']) > 0) { 
    foreach($_POST['Query'] as $checkbox) { 
      $del_id=$checkbox; 
      $sql = "DELETE * FROM queries WHERE queryId= '$del_id'"; 
      $result = mysql_query($sql); 
      mysql_error(); 
    } 
    echo "Selected Rows deleted"; 
  } 
  else { 
    $NEW="Nothing to Delete"; 
  } 
}

Instead of this:

$del_id=$checkbox;

do this:

// if queryId is numeric
$del_id=intval($checkbox);

This makes sure that the value you're working with is numeric, instead of potential malicious input from your user. I'm going under the assumption that queryId is numeric. If it's not, then you need to do this:

// if queryId is not numeric:
$del_id = mysql_real_escape_string($checkbox);

Your DELETE syntax is incorrect:

$sql = "DELETE * FROM queries WHERE queryId= '$del_id'";

You want just DELETE FROM. Also if the value for queryId is numeric, you don't need the quotes around it:

$sql = "DELETE FROM `queries` WHERE `queryId` = $del_id";

Finally, your MySQL error call doesn't do anything useful as is:

mysql_error();

Here's how you should do this, along with the rest of the code:

if($_POST['Delete']) { 
  if(count($_POST['Query']) > 0) { 
    foreach($_POST['Query'] as $checkbox) { 
      $del_id= intval($checkbox); 
      $sql = "DELETE FROM `queries` WHERE `queryId` = $del_id"; 
      $result = mysql_query($sql); 
      if(!$result) {
        echo "There was an error in the query: " . mysql_error();
      }
    } 
    echo "Selected Rows deleted"; 
  } 
  else { 
    $NEW="Nothing to Delete"; 
  } 
}