简体   繁体   English

从MySQL删除行

[英]Delete Row From MySQL

I wonder whether someone may be able to help me please. 我想知道是否有人可以帮助我。

I'm using the section of code below to create a table which correctly list records pertinent to the current user . 我正在使用下面的代码部分来创建一个表,该表正确列出与current user有关的记录。

/* display row for each user */ 


echo "<tr>\n"; 
$theID = $row['locationid']; 
echo " <td style='text-align: Center'>{$row['locationname']}</td>\n";
echo " <td style='text-align: Left'>{$row['returnedaddress']}</td>\n"; 
echo " <td style='text-align: Center'>{$row['totalfinds']}</td>\n"; 
echo " <form action= locationsaction.php  method= 'post'><input type='hidden' name='lid' value=$theID/>                                             <td><input type= 'submit' name= 'type' value= 'Details'/></td>
<td><input type= 'submit' name= 'type' value= 'Images'/></td>
<td><input type= 'submit' name= 'type' value= 'Add Finds'/></td>
<td><input type= 'submit' name= 'type' value= 'View Finds'/></td>
<td><input type= 'submit' name = 'type' value= 'Delete'/></td></form>\n";

At the end of each table row there are a selection of buttons which via locatiosnaction.php shown below , navigate the user to other pages, all linked back to the main table record. 在每个表行的末尾都有一些按钮,这些按钮通过locatiosnaction.php所示的locatiosnaction.php ,将用户导航到其他页面,所有这些页面都链接回到主表记录。

'locationsaction.php' 'locationsaction.php'

<?php 
session_start();
$_SESSION['lid'] = $_POST['lid'];
if (isset($_POST['type'])) {
    $urls = array(
        'Details' => 'viewlocation.php',
        'Add Finds' => 'addfinds.php',
        'Images' => 'addimages.php',
        'View Finds' => 'locationfinds.php',
        'Delete' => 'deletelocation.php'
    );
    $url = $urls[$_POST['type']];
    header("Location: " . $url);
}
?>

The problem I'm having revolves around the deletion of the record. 我遇到的问题与删除记录有关。 This is the query I'm using: 这是我正在使用的查询:

'deletelocation.php' 'deletelocation.php'

<?php

    $lid = $_SESSION['lid'];
            $query = "DELETE FROM detectinglocations WHERE locationid='$lid'";
            $result = mysql_query($query);

?>

The functionality of the button works fine, as it takes the user to the deletelocation.php script, but it's not deleting the record. 该按钮的功能工作正常,因为它会将用户带到deletelocation.php脚本,但未删除记录。

I've been using several scripts as reference and I'd thought I'd followed them correctly, but clearly not. 我一直在使用几个脚本作为参考,我想我已经正确地遵循了它们,但是显然不是。

I just wondered whether someone could possibly take a look at this please and let me know where I'm going wrong. 我只是想知道是否有人可以看看这个,然后让我知道我要去哪里了。

Many thanks and kind regards 非常感谢和问候

You're missing the session_start(); 您缺少session_start(); at the beginning of deletelocation.php . deletelocation.php的开头。

You have to call this on every page, that wants to use the session. 您必须在要使用该会话的每个页面上调用它。

So in your case $_SESSION['lid'] is not resolvable, which will invalidate your SQL query. 因此,在您的情况下, $_SESSION['lid']无法解析,这将使您的SQL查询无效。

PHP docu : PHP文档

session_start() creates a session or resumes the current one ... session_start()创建一个会话或恢复当前会话...

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

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