繁体   English   中英

无法使用img PHP从数据库中删除行

[英]Can't delete a row from a Database using a img PHP

我正在为我的网站做后台,并显示数据,我从数据库中带了一张表来显示用户请求的所有升级,并且我正在考虑放置2张图像,一个用于更新,另一个用于删除同一行。

                              # Table from Database #

?>

<div id="DBForm">

<p id="title"  align="center"> Upgrades</p>
<br/>
<?php
$resultado=mysql_query("SELECT * FROM upgrades");

if (mysql_affected_rows()>=1)
{
   echo "<table class='DBTable'>";
   echo "<tr>

            <th>Nome</th>
            <th>Upgrade</th>
            <th>Morada</th>

            <th>Contacto</th>
            <th>NIF</th>

            <th>Factura</th>
            <th>Data</th>
            <th>N Serie</th>
            <th>Cupao</th>
            <th>Alterar</th>
            <th>Eliminar</th>

         </tr>";

    while ($linha=mysql_fetch_array($resultado))
    {
        echo "<tr align='center'>
                <td>".$linha["nome"]."</td>   
                <td>".$linha["upgrade"]."</td>
                <td>".$linha["morada"]."</td>                                   
                <td>".$linha["contacto"]."</td>
                <td>".$linha["nif"]."</td>                              
                <td>".$linha["factura"]."</td>
                <td>".$linha["data_factura"]."</td>                              
                <td>".$linha["n_serie"]."</td>  
                <td>".$linha["cupao"]."</td>                
                <td><a href=\"alterar.php\"><img src=images/alterar.png></img></a> </td>
                <td><a href=\"eliminar.php\"><img src=images/eliminar.png></img></a> </td>

              </tr>";
    }
    echo "</table>";
}

?>

</div>

没关系,但是当我按img删除时,浏览器说我成功删除了该行,但是当我返回页面时该行仍然存在,那可能是什么?

                           #Code from img to delete the row#




$servername = "localhost";
$username = "root";
$password = "";
$dbname = "loja";
$tbl_name = "upgrades";

// Create connection
mysql_connect($servername, $username, $password)or die ("Não houve conexão");
mysql_select_db("$dbname");

$id=$_REQUEST['id'];

$sql="DELETE FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);

if ($result)
{
    echo "Registo apagado com sucesso!";
    echo "<br>";
    echo "<a href='upgrades.php'> Voltar a upgrades </a>";
}
else
{
    echo "ERRO!";
    mysql_close();
}



?>

没有提供此值:

$id=$_REQUEST['id'];

该页面只需要一个链接即可:

"<a href=\"eliminar.php\"><img src=images/eliminar.png></a>"

为了提供标识符,您需要将其添加到链接中。 也许是这样的:

"<a href=\"eliminar.php?id=".$linha["id"]."\"><img src=\"images/eliminar.png\"></a>"

(或$linha上的任何标识符)


此外,请注意,您的代码对SQL注入攻击开放。 您将要研究使用准备好的语句,而不是将用户输入直接放入SQL代码中。

旁注:您可以安全地删除</img>标签; 这不是有效的标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM