Удалите записи из базы данных с запросом Ajax

CxImage является свободной библиотекой для обработки изображений, которые могут сделать то, что Вы хотите. Я лично не использовал его за исключением тривиального материала, но я видел, что это неоднократно рекомендовало.

7
задан Charles 23 December 2012 в 21:43
поделиться

3 ответа

Вы используете GET-запрос из JS:

{method:'get'}

И ваш PHP-код использует данные, которые, по его мнению, поступают как POST:

$ID = $_POST['id'];

Вы должны использовать один и тот же метод с обеих сторон.

(Поскольку вы изменяете / удаляете данные, вам, вероятно, следует использовать POST)


В качестве примечания вы должны определенно избегать / защищать / проверять данные, которые вы используете в запросе SQL, чтобы избежать инъекций SQL, используя, например, intval , когда вы работают с целым числом; вы бы использовали mysql_real_escape_string , если бы работали со строкой.

Другой способ - отказаться от старого расширения mysql и начать использовать mysli или PDO , что означает, что вы можете использовать подготовленные операторы ( mysqli , pdo )


EDIT после комментария : вы также, теперь, когда запрос выполняется в POST, необходимо изменить способ передачи параметров: они больше не должны передаваться в URL.

Я полагаю, что что-то вроде этого должно работать:

9
ответ дан 7 December 2019 в 03:18
поделиться

Похоже, ваш запрос ajax использует GET, но ваш скрипт удаления пытается получить идентификатор через POST. Попробуйте установить для {method: 'get'} значение {method: 'post'} .

0
ответ дан 7 December 2019 в 03:18
поделиться

Измените delete.php следующим образом:

<?php
      /* Database connection */
      include('configuration.php');
      echo "hello,...";
      if(isset($_GET['id'])){
          $ID = $_GET['id'];
          $sql = 'DELETE FROM student where id="'.$ID.'"';
          mysql_query($sql);
      } 
      else { echo '0'; }
     ?>

Или, в качестве альтернативы, вы можете использовать $ _REQUEST вместо $ _GET (или $ _POST в первом примере), поскольку он объединяет массивы $ _GET и $ _POST.

0
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: