php mysql_fetch_array()错误
可能重复: 当我试图删除一条记录时,我收到了这个错误。查询正在运行,但这一行仍保留在页面上。我想回声删除写在while应该出现,但while循环不工作,我已经尝试和搜索了很多没有帮助php mysql_fetch_array()错误,php,mysql,sql,database,Php,Mysql,Sql,Database,可能重复: 当我试图删除一条记录时,我收到了这个错误。查询正在运行,但这一行仍保留在页面上。我想回声删除写在while应该出现,但while循环不工作,我已经尝试和搜索了很多没有帮助 mysql_fetch_array() expects parameter 1 to be resource, boolean given in delete.php on line 27 delete.php connect.php 我应该如何使while循环工作。当您运行DELETE命令时,我相信不会返回
mysql_fetch_array() expects parameter 1 to be resource, boolean given in delete.php on line 27
delete.php
connect.php
我应该如何使while循环工作。当您运行DELETE命令时,我相信不会返回任何内容,因此您无法获取数组。如果您正在进行选择,通常会使用该选项。在本例中,您正在删除某些内容,因此只需删除该循环,然后进行回显。问题在于delete语句不会生成结果集
$result = mysql_query("DELETE FROM fact WHERE id='$id'") or die(mysql_error());
if (mysql_affected_rows() > 0)
{
echo 'Record deleted!';
}
另外:如注释中所述,您容易受到SQL注入的攻击,并且使用了不推荐使用的扩展。请仔细查看有关这些问题的一些指导
不要使用mysql函数,而是使用or。
大约$id值。
我们使用mysql_fetch_数组获取SELECT查询的返回结果。
你可能想要这个
if(mysql_affected_rows() > 0)
{
echo "Deleted";
}
else
{
echo "An error occured.";
}
在一段时间内,模具会产生问题,所以您可以这样使用它
$result=mysql_queryDELETE FROM fact,其中id='$id' 不要使用mysql_*函数,试试PDO示例
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$count = $dbh->exec("DELETE FROM fact WHERE id='$id'");
if($count > 0){
echo 'Deleted';
}else{
echo 'Not Deleted';
}
?>
$count将返回已删除的行数另外:SQL注入漏洞!另外:mysql_*函数已弃用!这个对我有用。。谢谢。。但是我必须删除while循环now@user1877823是的,不需要while循环,因为没有可循环的结果:
$result = mysql_query("DELETE FROM fact WHERE id='$id'") or die(mysql_error());
if($result)
{
echo "Deleted";
}
<html>
<body>
<form method="post">
Id : <input type="text" name="id">
Name : <input type="text" name="name">
Description : <input type="text" name="des">
<input type="submit" value="delete" name="delete">
</form>
<?php
include("connect.php");
$id = $_POST['id'];
$name = $_POST['name'];
$des = $_POST['des'];
$result = mysql_query("DELETE FROM fact WHERE id='$id'") or die(mysql_error());
if($result) //if(mysql_affected_rows($result) > 0)
{
echo "Deleted";
}
else
{
echo mysql_error();
}
mysql_close($con); ?>
</body>
</html>
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$count = $dbh->exec("DELETE FROM fact WHERE id='$id'");
if($count > 0){
echo 'Deleted';
}else{
echo 'Not Deleted';
}
?>
$result = mysql_query("DELETE FROM fact WHERE id='$id'") or die(mysql_error());
if($result)
{
echo "Deleted";
}