Удалить строку из MySQL
Интересно, сможет ли кто-нибудь помочь мне, пожалуйста.
Я использую раздел кода ниже, чтобы создать таблицу, которая правильно перечисляет записи, относящиеся к 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";
В конце каждой строки таблицы есть кнопки, которые locatiosnaction.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);
}
?>
Проблема, которая у меня возникла, связана с удалением записи. Это запрос, который я использую:
'deletelocation.php'
<?php
$lid = $_SESSION['lid'];
$query = "DELETE FROM detectinglocations WHERE locationid='$lid'";
$result = mysql_query($query);
?>
Функциональность кнопки работает нормально, так как она переносит пользователя в скрипт deletelocation.php, но не удаляет запись.
Я использовал несколько сценариев в качестве ссылки, и я думал, что я следовал за ними правильно, но явно нет.
Мне просто интересно, может кто-нибудь взглянуть на это, пожалуйста, и дайте мне знать, где я иду не так.
Большое спасибо и всего наилучшего
1 ответ
Вы скучаете по session_start();
в начале deletelocation.php
,
Вы должны вызывать это на каждой странице, которая хочет использовать сеанс.
Так что в вашем случае $_SESSION['lid']
не разрешим, что сделает ваш запрос SQL недействительным.
session_start () создает сеанс или возобновляет текущий...