Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除mysql中的行并从文件夹中关联_Php_Mysql - Fatal编程技术网

Php 删除mysql中的行并从文件夹中关联

Php 删除mysql中的行并从文件夹中关联,php,mysql,Php,Mysql,我有一个管理面板,可以在其中显示数据库中的行,并可以删除它们。 下面是我如何删除它们的delete.php 更新 if (isset($_GET['id']) && is_numeric($_GET['id'])) { $id = $_GET['id']; $name = "SELECT name FROM images WHERE id=$id"; $name=mysql_fetch_assoc($name); $name=$name['name']; if ($stmt

我有一个管理面板,可以在其中显示数据库中的行,并可以删除它们。 下面是我如何删除它们的delete.php

更新

if (isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];

$name = "SELECT name FROM images WHERE id=$id";
$name=mysql_fetch_assoc($name);
$name=$name['name'];

if ($stmt = $con->prepare("DELETE FROM images WHERE id = ? LIMIT 1"))
{
    $stmt->bind_param("i",$id);

    $stmt->execute();
    unlink("../upload/" . $name);
    $stmt->close();
}

else
{
    echo "ERROR: could not prepare SQL statement.";
}
$con->close();

header("Location: images_delete.php");
}
else
{
header("Location: images_delete.php");
}
然后我必须打开“上传”表单删除我从mysql中删除的图像。当我从mysql中删除该图像时,如何将其从文件夹中删除

在mysql中,我存储图像的路径和名称

更新:这是正在工作的文件的最终版本->从文件夹中删除文件并记录在数据库中

if (isset($_GET['id']) && is_numeric($_GET['id']))
{

$id = $_GET['id'];
$name = "SELECT * FROM images WHERE id=$id" or die(mysqli_error($con));
$res = mysqli_query($con, $name);
$row = mysqli_fetch_assoc($res);
$name1 = $row['name'];
//print_r($name1);
if ($stmt = $con->prepare("DELETE FROM images WHERE id = ? LIMIT 1"))
{
    $stmt->bind_param("i",$id);
    $folder = 'C:\wamp\www\upload';
    chown($folder,465);

    //var_dump($name1);
    unlink($_SERVER['DOCUMENT_ROOT'] . "/upload/$name1");

    $stmt->execute();
    $stmt->close();
}

else
{
    echo "ERROR: could not prepare SQL statement.";
}
$con->close();


使用
取消链接($your\u image\u path)
删除图像

使用
取消链接($your\u image\u path)
删除图像

使用
取消链接($your\u image\u path)
取消链接($your\u image\u path)删除图像

$stmt,而不是
$stmt->bind_参数(“i”,$id)为什么
“id”
?我在那里得到整数,这就是为什么我把
“I”
。你能解释一下吗?我的意思是最好使用占位符。稍微更改一下您的查询:
prepare(“从id=:id LIMIT 1的图像中删除”)
然后使用
$stmt->bind_参数(“:id”,$id”)您正在混合MySQL API
mysql\u fetch\u assoc
和您拥有的其他
mysqli\u*
函数不会混合使用@Goro改为
mysqli\u fetch\u assoc
不客气,很高兴@Goro
$stmt->bind\u param(“id”,$id)成功了,而不是
$stmt->bind_参数(“i”,$id)为什么
“id”
?我在那里得到整数,这就是为什么我把
“I”
。你能解释一下吗?我的意思是最好使用占位符。稍微更改一下您的查询:
prepare(“从id=:id LIMIT 1的图像中删除”)
然后使用
$stmt->bind_参数(“:id”,$id”)您正在混合MySQL API
mysql\u fetch\u assoc
和您拥有的其他
mysqli\u*
函数不会混合使用@Goro改为
mysqli\u fetch\u assoc
不客气,很高兴@Goro
$stmt->bind\u param(“id”,$id)成功了,而不是
$stmt->bind_参数(“i”,$id)为什么
“id”
?我在那里得到整数,这就是为什么我把
“I”
。你能解释一下吗?我的意思是最好使用占位符。稍微更改一下您的查询:
prepare(“从id=:id LIMIT 1的图像中删除”)
然后使用
$stmt->bind_参数(“:id”,$id”)您正在混合MySQL API
mysql\u fetch\u assoc
和您拥有的其他
mysqli\u*
函数不会混合使用@Goro改为
mysqli\u fetch\u assoc
不客气,很高兴@Goro
$stmt->bind\u param(“id”,$id)成功了,而不是
$stmt->bind_参数(“i”,$id)为什么
“id”
?我在那里得到整数,这就是为什么我把
“I”
。你能解释一下吗?我的意思是最好使用占位符。稍微更改一下您的查询:
prepare(“从id=:id LIMIT 1的图像中删除”)
然后使用
$stmt->bind_参数(“:id”,$id”)您正在混合MySQL API
mysql\u fetch\u assoc
和您拥有的其他
mysqli\u*
函数不会混合使用@Goro改为
mysqli\u fetch\u assoc
不客气,很高兴在您的if条件
if($stmt=$con->prepare(“从图像中删除id=?LIMIT 1”))中成功删除DB中的条目后@Gorouse完成了此代码){
在删除之前,他必须首先选择图像名称。完全正确,首先从数据库中获取图像名称,然后从数据库中删除,如果删除成功,则使用
unlink()
从文件夹中删除更新了我的问题。因此,我还显示了我要删除的图像的名称?类似于
if(…)之前的内容
->
$name=$\u GET['name'];
在执行之后和关闭之前,stmt
$stmt->execute();取消链接(“../upload/”$name);$stmt->close();
?在if条件下从数据库中成功删除条目后使用此代码
if($stmt=$con->prepare(“从id=?限制1的图像中删除”)){
在删除之前,他必须首先选择图像名称。完全正确,首先从数据库中获取图像名称,然后从数据库中删除,如果删除成功,则使用
unlink()
从文件夹中删除更新了我的问题。因此,我还显示了我要删除的图像的名称?类似于
if(…)之前的内容
->
$name=$\u GET['name'];
在执行之后和关闭之前,stmt
$stmt->execute();取消链接(“../upload/”$name);$stmt->close();
?在if条件下从数据库中成功删除条目后使用此代码
if($stmt=$con->prepare(“从id=?限制1的图像中删除”)){
在删除之前,他必须首先选择图像名称。完全正确,首先从数据库中获取图像名称,然后从数据库中删除,如果删除成功,则使用
unlink()
从文件夹中删除更新了我的问题。因此,我还显示了我要删除的图像的名称?类似于
if(…)之前的内容
->
$name=$\u GET['name'];
在执行之后和关闭之前,stmt
$stmt->execute();取消链接(“../upload/”$name);$stmt->close();
?在if条件下从数据库中成功删除条目后使用此代码
if($stmt=$con->prepare(“从id=?限制1的图像中删除”)){
在删除之前,他必须首先选择图像名称。完全正确,首先从数据库中获取图像名称,然后从数据库中删除,如果删除成功,则使用
unlink()
从文件夹中删除更新了我的问题。因此,我还显示了我要删除的图像的名称?类似于
if(…)之前的内容
->
$name=$\u GET['name'];
在执行之后和关闭之前,stmt
$stmt->execute();取消链接(“../upload/”$name);$stmt->close();