2014-02-09 4 views
0

Я получил этот код в моем administration.php:удалить запись в базе данных на PHP

<?php 
include("conn.php"); 
session_start(); 

if(!isset($_SESSION['user'])){ 
header("location:index.php"); 
exit(); 
} 
if(isset($_REQUEST['user'])){ 
mysql_query("DELETE FROM tblru WHERE user=" . $_REQUEST['user']); 
if(mysql_affected_rows($con)>0){ 
header("location:administration.php"); 
exit(); 
} 
else{ 
echo "ERROR in deleting the user!"; 
} 
} 
?> 

Я получил этот код на теле:

<?php 
$result=mysql_query("SELECT * FROM tblru"); 
if(mysql_num_rows($result)>0) 
{  
while($row=mysql_fetch_array($result)){ 
echo "<tr bgcolor='#999999'> 
<td>" . $row[0] . "</td> 
<td>" . $row[1] . "</td> 
<td align='center'><a href='administration.php?user=" . $row[0]."' onClick=\"return confirm('Confirm Deletion of Registered User?');\"><font color='#FFFFFF'>Delete</font></a></td></tr>"; 

    } 
} 

?> 

я получаю сообщение об ошибке в deleteing записей, может кто-нибудь проверяет, почему он всегда отображается так, как это

+0

Вы можете написать описание ошибки здесь ?? – Zeeshan

+0

ОШИБКА при удалении пользователя! –

+0

Когда вы нажимаете кнопку «Удалить», и он переходит на «administrator.php», какой URL-адрес вы видите в адресной строке? –

ответ

1

попробовать это ниже ....

<?php 
include("conn.php"); 
session_start(); 

if(!isset($_SESSION['user'])){ 
header("location:index.php"); 
exit(); 
} 
if(isset($_REQUEST['user'])){ 
mysql_query("DELETE FROM tblru WHERE user= '" . $_REQUEST['user'] . "'"); 
if(mysql_affected_rows($con)>0){ 
header("location:administration.php"); 
exit(); 
} 
else{ 
echo "ERROR in deleting the user!"; 
} 
} 
?> 

, если вы хотите использовать безопасный код, который не может потревожить от пользователя, то используйте ниже (SQL Injection)

<?php 
include("conn.php"); 
session_start(); 

    if(!isset($_SESSION['user'])){ 
    header("location:index.php"); 
    exit(); 
    } 
    if(isset($_REQUEST['user'])){ 
    mysql_query("DELETE FROM tblru WHERE user= '" . mysql_real_escape_string($_REQUEST['user']) . "'"); 
    if(mysql_affected_rows($con)>0){ 
    header("location:administration.php"); 
    exit(); 
    } 
    else{ 
    echo "ERROR in deleting the user!"; 
    } 
    } 
    ?> 
+0

http://stackoverflow.com/q/60174/ –

+0

это сработало, спасибо –

1

Также кажется, что вы запрашиваете неверно.

вместо

"DELETE FROM tblru WHERE user=" . $_REQUEST['user'] 

вы должны написать

"DELETE FROM tblru WHERE user='" . $_REQUEST['user'] . "'" 

потому, что пользователь является VARCHAR/строка, а не число (это мое предположение).

Если бы вы могли опубликовать какую-либо ошибку (DB/Code?), То мы также знали бы, где искать.

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