ОБСУЖДЕНИЕ

sql запрос через php

21 сообщений1 просмотровОткрыта
#1
Добрый день.
И так, есть таблица вывода столбцов из таблицы.
Выглядит она следующем образом:
PHP

?>
<form action="../system/delete_driver.php" method="post">
<?
   // выводим в HTML-таблицу все данные клиентов из таблицы MySQL
  while($data = mysql_fetch_array($driver)){
    echo '<tr>';
    echo '<td>' . $data['id_driver'] . '</td>';
    echo '<td>' . $data['name'] . '</td>';
    echo '<td>' . $data['surname'] . '</td>';
    echo '<td>' . $data['paronymic'] . '</td>';
    echo '<td>' . $data['date_birth'] . '</td>';
    echo '<td>' . $data['driver_category'] . '</td>';
    echo "<td><input type='submit' name='id_driver' value='Удалить'></td>";
    echo '</tr>';
  }
  echo '</tbody>';
  echo '</table>';
  ?>
</form>
<?
    // закрываем соединение с сервером  базы данных
    mysql_close($connect_to_db);
    include '../system/foot.php';
    ?>



Кнопка "удалить" находится рядом с каждой строчкой.
И после её нажатия отправляемся в delete_driver.php
Который выглядит следующем образом:
PHP

require '../system/core.php';
$id_driver = $_REQUEST['id_driver'];
$delete_sql = "DELETE FROM driver WHERE id_driver='.$id_driver.'";
mysql_query($delete_sql) or
die("<p>При удалении произошла ошибка</p>". mysql_error());
echo "<p>Запись была успешно удалена!</p>";
?>


Проблема в том, что строка не удаляется.
Поскольку ответ приходит:
BASH

echo "<p>Запись была успешно удалена!</p>";


То стоит полагать, что проблема в '.id_driver.' в запросе
PHP

$delete_sql = "DELETE FROM driver WHERE id_driver='.$id_driver.'";


Перепробовал разные варианты, но увы...

Прошу помочь найти ошибку.
#2
а запрос о уд в базу идет?
#3
Ярый, Получается да. Но если переменная не определена, то толку от него.
Тогда запрос идёт
DELETE FROM driver WHERE id_driver='.$id_driver.'
и '.$id_driver.' просто остаётся '.id_driver.' не принимая никаких значений.
#4
Тема была поднята автором по истечению 24 часов после последнего поста
#5
<input type="hidden" name="id_driver" value="' . $data['id_driver'] . '">
-----------
$_REQUEST['id_driver'] =>>>>> (int)$_POST['id_driver']
#6
KpuTuK, Спасибо, но увы. От hidden тут толк какой? Да и в переименовании кнопки надобности не было.
#7
какая кнопка??? это отдельное скрытое поле которое отсылает ид через POST
#8
KpuTuK, Всё равно не выходит.
#9
<?php
?>
<form action="../system/delete_driver.php" method="post">
<?
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL
while($data = mysql_fetch_array($driver)){
echo '<tr>';
echo '<td>' . $data['id_driver'] . '</td>';
echo '<td>' . $data['name'] . '</td>';
echo '<td>' . $data['surname'] . '</td>';
echo '<td>' . $data['paronymic'] . '</td>';
echo '<td>' . $data['date_birth'] . '</td>';
echo '<td>' . $data['driver_category'] . '</td>';

echo '<input type="hidden" name="id_driver" value="' . $data['id_driver'] . '">';

echo "<td><input type='submit' name='ok' value='Удалить'></td>";
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
?>
</form>
<?
// закрываем соединение с сервером базы данных
mysql_close($connect_to_db);
include '../system/foot.php';
?>
#10
Мне одному кажется что у тебя там sql инъекцией попахивает?
#11
IvanDanilov, Я понимаю. Пока что все равно.
#12
Тебе не кажется))))
#13
А потом забудешь
#14
Продаст))
#15
IvanDanilov, Это не не продажу. Для курсача. Так что, если забуду, напомнят на сдаче)
#16
Я б тя на снова учиться с 0 оставил .лол.
#17
Смешно. Это в программу не входит. Так сказать, дополнение, добровольное. Да и ты, думаю, не сразу "грамотным" стал.
#18
Ну тогда не позорься .смех.
- дыры
- двойные ковычки
- отсутствие ковычек в sql
- Отдельная переменная для запроса
-Отдельная переменная для передачи ид
-----
кстати а нахрена точки по бокам $driver_id ????
#19
KpuTuK, ty. Учту.
И, да, не помогло всё равно, то что ты давал.
#20
KpuTuK, Всё. Точки убрал и норм. Благодарю.
Страница 1 из 2 · Всего записей: 21