2013-10-15 1 views
0

Я хочу, чтобы быть SQL запрос, чтобы иметь место при щелчке ссылки на, до сих пор это то, что у меня есть:Run PHP SQL команда запроса, когда ссылка нажал на

mainpage.php:

function deleteImage1() { 
    $.post("delete_image.php", { num:1, id:<?php echo $id; ?> }, function(data,status){ 
    alert("Data: " + data + "\nStatus: " + status); 
    }); 
    return false; 
} 

<a href="#" onclick="deleteImage1()">Delete Image</a> 

delete_image.php:

<?php 

// $connect stuff here 

    $num = $_GET['num']; 
    $id = $_GET['id']; 

    if ($num === '1') { 
    $image_num == ''; 
    } else { 
    $image_num == $num; 
    } 

    $sqlCommand = mysql_query("UPDATE alpacas1 SET image$image_num='' WHERE id=$id"); 

if (!$sqlCommand) { 
    die('Invalid query: ' . mysql_error()); 
} else { 
echo "Updated successfully!"; 
} 
?> 

Теперь, когда я нажимаю на «Удалить изображение» ссылка, это попробовать, чтобы запустить функцию, и это делает, но возвращается, как это в всплывающем окне:

Данные: Неверный запрос: в вашем синтаксисе SQL имеется ошибка; проверьте инструкцию, которая соответствует вашей версии сервера MySQL для правого синтаксиса использовать вблизи "в строке 1.
Статус: Успех

Но когда я перезагрузить страницу, (или смотрите в базе данных), поле изображения не было изменено на '' (или null).

Кроме того, я протестировал SQL-запрос, так что это не так. Я сделал это, посетив delete_image.php в своем браузере с идентификатором & num переменные «отправляются» (например, delete_image.php? num = 1 & id = 20) и, посещая его в BROWSER, он УСПЕШНО удаляет изображение и дает мне e сообщение «Обновлено успешно!».

Я предполагаю, что это что-то с моим Javascript, поскольку я новичок! Спасибо за вашу помощь!

+0

Что такое код в _mainpage.php_, который объявляет '$ id'? – Jason

+0

Извините, страница огромная, не включила ее, но это функция PHP GET, которая получает ее, и она работает, потому что я использую ее для многих других функций на странице. –

+0

Вот функция, когда я «проверяю элемент» в Google Chrome. Как вы можете видеть, переменная $ id отображается правильно, когда ее спрашивают. 'функция deleteImage1() { $ .post (" delete_image.php ", {num: 1, id: 286}, функция (данные, статус) { предупреждение (" Данные: "+ данные +" \ nСтатус: " + статус); }); return false; } ' –

ответ

2

я заметил это раньше ...

Вы используете JQuery .post(), пока вы доступ к переменным, как если бы они посылаются через GET. Вы должны либо использовать $_POST или $_REQUEST тянуть в ваших данных:

$num = $_POST['num']; 
$id = $_POST['id']; 

Без соответствующих переменных, ваш запрос гласит:

UPDATE alpacas1 SET image='' WHERE id="

Таким образом, ошибка MySQL возвращается.

+0

А я тоже должен был поймать !! Спасибо человеку, что мне нужно, я пробовал так много вещей, которые я потерял в своем собственном коде. –

+0

Нет проблем, иногда просто требуется второй набор глаз, чтобы поймать простые ошибки. – Jason

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