2015-09-30 1 views
1

После нескольких примеров с этого сайта я думаю, что я собираюсь сделать это, но все равно не могу.Mysql UPDATE с использованием PHP и AJAX, не может обновлять базу данных

У меня есть этот код:

HTML

... 
<a href="javascript:void(0);" class="button red big" style="font-size:24px;" onclick="update_it(<?=$_REQUEST["yeah"]["id"];?>);">Pay</a> 
... 

AJAX

function update_it(n_id){ 
    $.ajax({ 
     type: 'POST', 
     url: 'update_yes.php', 
     data: {idd: n_id}, 
     success: function(output) 
     { 
      alert('Updated, server says '+n_id); 
     }, error: function() 
     { 
      alert('Wrong!'); 
     } 
    }); 
} 

PHP

<?php 
    $link = mysqli_connect("localhost", "root", "****", "****"); 
    $sql = "DELETE FROM stuff WHERE id = " .$_POST["idd"]; 
    mysqli_query($link,$sql) or die(mysql_error()); 
?> 

И все работает, но PHP (я думаю). Я говорю это, потому что вижу, как HTML работает правильно и как функция AJAX возвращает сообщение об успешном завершении, но в базе данных ничего не происходит.

Я пробовал различные структуры в поле данных функции AJAX, например data: 'idd': n_id, или data: 'idd=' n_id,, но ничего не работает.

Что я делаю неправильно? Любой совет или совет? Заранее спасибо.

+0

Вы пробовали var_dump ($ sql) после того, как вы создали свой запрос в PHP-коде? Это поможет нам увидеть, что вы отправляете в базу данных. – Musa

+0

Не могли бы вы найти результат var_dump $ link и $ sql и mysqli_query, чтобы мы могли увидеть, где проблема? –

+0

Помимо того, что он не подвержен инъекции SQL, пример кода выглядит хорошо, он должен работать. Вероятно, PHP никогда не выполнялся. Проверьте в файле PHP, что выполнение достигает этой точки. – marekful

ответ

0

ОК, наконец, я нашел решение.

Код довольно находка, это апача и проблемы с правами.

This многое помогло.

Спасибо, ребята, за все ваши комментарии.

+0

Можете ли вы заменить находку с хорошим в сообщении. –

0

вы должны добавить выход; в конце php-кода. повторите утверждение о успехе. Затем вы должны предупредить выходную переменную в javascript. Чтобы вы могли убедиться, что php-код вызывается.

+0

Хорошо, после добавления функции выхода и некоторых «эхо» и некоторого «предупреждения» javascript ничего не произошло, поэтому, я полагаю, я не добираюсь до файла. Что бы это могло быть? Если я переведу файл или просто изменил его имя, я получаю сообщение об ошибке функции AJAX. Я не знаю, что делать. – Zariweya

1

Я использую apache MySQL и php для Winodws. И у меня такая же проблема. у меня в обновление-скрипт, который вызывается AJAX

  1. UPDATE SQL заявление
  2. запрос его из БД MySQL
  3. попытка обновить запись без изменений, (я имею в виду простое обновление строки с теми же данными)

then ... Мне нечего обновлять, потому что это ошибка в запросе AJAX, который вызывает оператор UPDATE в вашем сценарии на стороне сервера. Но он будет работать, если вы, прежде чем какие-либо изменения (обновления) данных внесут в него некоторые изменения.

Я использую инструкцию REPLACE вместо UPDATE.

Я искал это решение много времени, на самом деле слишком много. И я не могу понять, почему это происходит, потому что когда я отлаживаю весь скрипт с собственными параметрами прямо на сервере, и все работает нормально, но когда Ajax тогда помогает REPLACE.

Смежные вопросы