2015-04-17 4 views
1

Я пытаюсь добавить кнопку удаления в строке таблицы, как только пользователь нажмет на нее, я хочу, чтобы она удаляла запись в базе данных mysql и поэтому не отображалась в таблице. Моя проблема, когда я нажимаю кнопку «Удалить», я получаю ошибку подключения! сообщение, вот мой PHP код:Удалить запись в базе данных с помощью кнопки PHP

<?php 

     $id = $_GET['id']; 


     $dbc = mysqli_connect('localhost','user','pass','db') or die('Connection error!'); 



     $query = "DELETE FROM table WHERE id = '$id'"; 
     mysqli_query($dbc, $query) or die('Database error!'); 
     \header('location:datapull.php'); 

    ?> 

спасибо за любую помощь заранее ...

+2

Получить реальную ошибку 'или die (mysqli_error ($ dbc))' вместо 'или die ('Connection error!')' То же самое для вашего запроса. Плюс, является ли 'table' вашим фактическим именем таблицы? Я должен был спросить. Плюс, избавьтесь от \ in '\ header' –

+0

сбой подключения, там есть bro –

+1

Также на минимальном листе $ id на int. Лучше всего использовать подготовленные заявления. http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?lq=1 – chris85

ответ

2

Решение:

Шаг1. Над проверкой: localhost, user, pass и db

Шаг2: Проверьте привилегию пользователя в вашей базе данных.

Если это не помогает, я уверен, что на вашем сервере есть проблемы. В этом случае обратитесь в службу поддержки своего сервера.

+0

Да, вы правы. –

+0

Все это уже было сказано в комментариях. –

+0

@ Дагон один из тех * нога в двери * ответы; как и другой. –

-1

Двойная проверка имени пользователя, пароля и имени базы данных.

Попробуйте этот код и ответьте мне, что вы получаете.

$id = $_GET['id'];  
$dbc = mysqli_connect('localhost','user','pass','db') or die('Connection error!'); 
//Variables inside single quotes wont work. Change to this 
$query = "DELETE FROM table WHERE id = '".$id."'"; 
mysqli_query($dbc, $query) or die('Database error!'); 
// Check how many rows is affected. If it is returns 0 it is not working. Else it will return how many rows is deleted. 
printf("Records deleted: %d\n", mysqli_affected_rows($dbc)); 
exit; 
+0

он остается неизменным, нет ошибки –

+0

у вас есть 'Records deleted:' с количеством строк? –

+0

нет, страница просто загружает то же самое. Больше ничего не показывать –

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