猿问

php的为什么删除会出现这种报错,急!

<?php




$dbname = "fspz";
$user = "htgl";
$link = mysql_connect("localhost:3306","root","123");
mysql_query("set names utf8");
mysql_query("use $dbname");

$sql = "select * from $user";
$result = mysql_query($sql);
if(!empty($_GET['id'])){
$id = $_GET['id'];
$sql = "delete from htgl where user_id = $id";
$result = mysql_query($sql);

if($result === false){
echo "<br />抱歉,删除失败,请参考" ;

}
else{
echo "<br /> 删除成功!";
}


}


echo "<table border = '1'>";
$field_count = mysql_num_fields($result);
echo "<tr>";
for($i = 0;$i < $field_count-1;++$i){
$field_name = mysql_field_name($result,$i);
if($i == $field_count-2){
echo "<th>" . $field_name . "<th>操作</th>" ."</th>";
}
else{
echo "<th>" . $field_name . "</th>";

}

}
echo "</tr>";

while($rec = mysql_fetch_array($result)){
echo "<tr>";
for($i = 0;$i < $field_count-1;++$i){
$field_name = mysql_field_name($result,$i);
if($i == $field_count-2){
echo "<td>" . $rec[$field_name] . "</td>" . "<td>" . "<a href='htgl.php?id={$rec['user_id']}' onclick='return queren()'>删除</a>"."</td>" ;
}
else{
echo "<td>" . $rec[$field_name] . "</td>";

}

}

}
echo "</tr>";



echo "</table>";

?>

大里
浏览 1558回答 2
2回答

捷克轩

你有两个问题 第一个问题是 你的删除SQL语句写错了(不是语法错误而是逻辑上的错误)不管怎样他返回的是false。而mysql_num_fields()需要的是个资源类型,你却给他一个false。所以报错了。第二你这么写我不知道目的是为何,就算删除语句你写对了。他返回的也是影响行数,未必会得到你想要获取的字段列吧。

Anachronism

打得好乱,看不懂
随时随地看视频慕课网APP
我要回答