php从数据库错误中删除

时间:2013-11-19 18:41:23

标签: php mysql sql

我正在尝试从我的简单电子商务网站中删除用户,以处理我正在处理的项目。当我单击删除按钮时,将显示该消息,并告诉我它正确删除了表中的数据。但是当我进入我的sql数据库并检查数据时,它仍然存在。我无法弄清楚我做错了什么或我的错误在哪里。任何帮助,将不胜感激。我的代码如下。

 <?php 
session_start();
if (isset($_SESSION['shirt_users_id']) && isset($_SESSION['full_name'])) {
require('mysql_connect.php');
$title="List all registered users";
include_once("header_admin.php");
if (isset($_GET['shirt_users_id'])) {
    $shirt_users_id = $_GET['shirt_users_id'];
    function rollback_die($msg)
    {
        echo $msg;
        global $link;
        mysqli_query($link, "ROLLBACK");
        mysqli_free_result($exec_select_sui);
        mysqli_close($link);
        include("footer_admin.php");
        die();
    }

    function delete_records($array_refer)
    {
        global $link;
        foreach ($array_refer as $key => $array_value) {
        $table_name = substr($key, 0, -3);
            foreach ($array_value as $value) {
                $delete = "DELETE from $table_name where $key = $value";
                $exec_delete = @mysqli_query($link, $delete);
                if (!$exec_delete) {
                    rollback_die("Records from $table_name could not be deleted because of: ".mysqli_error($link));
                }
            }
        }
        return true;
    }

    @mysqli_query($link, "SET AUTOCOMMIT=0");
    $select_sui = "SELECT shirt_users.shirt_users_id, shirt_users_types.shirt_users_types_id, shirt_orders.shirt_orders_id, shirt_shipping_addresses.shirt_shipping_addresses_id, shirt_billing_addresses.shirt_billing_addresses_id, shirt_credit_cards.shirt_credit_cards_id 
    from
    shirt_users, shirt_users_types, shirt_orders, shirt_shipping_addresses, shirt_billing_addresses, shirt_credit_cards
    where
    shirt_users.shirt_users_id = shirt_users_types.shirt_users_id and
    shirt_users_types.shirt_orders_id = shirt_orders.shirt_orders_id and
    shirt_orders.shirt_shipping_addresses_id = shirt_shipping_addresses.shirt_shipping_addresses_id and
    shirt_orders.shirt_billing_addresses_id = shirt_billing_addresses.shirt_billing_addresses_id and
    shirt_orders.shirt_credit_cards_id = shirt_credit_cards.shirt_credit_cards_id and
    shirt_users.shirt_users_id = $shirt_users_id";
    $exec_select_sui = @mysqli_query($link, $select_sui);
    if (!$exec_select_sui) {
        rollback_die("A problem when retrieving records from the database for shirt user has occurred: ".mysqli_error($link));
    } else {
        $users = $gut = $orders = $shipping = $billing = $credit = array();
        while ($one_row = mysqli_fetch_assoc($exec_select_sui)) {
            $users[] = $one_row['shirt_users_id'];
            $gut[] = $one_row['shirt_users_types_id'];
            $orders[] = $one_row['shirt_orders_id'];
            $shipping[] = $one_row['shirt_shipping_addresses_id'];
            $billing[] = $one_row['shirt_billing_addresses_id'];
            $credit[] = $one_row['shirt_credit_cards_id'];
        }
        $multi_array = array('shirt_users_id' => $users, 'shirt_users_types_id' => $gut, 'shirt_orders_id' => $orders, 'shirt_shipping_addresses_id' => $shipping, 'shirt_billing_addresses_id' => $billing, 'shirt_credit_cards_id' => $credit);
        delete_records($multi_array);
        echo "the record(s) of shirt user have successfully been deleted from the tables";
        mysqli_query($link, "COMMIT");
    }
}

(isset($_GET['sort']))?$sort = $_GET['sort']:$sort = 'ui';
(isset($_GET['bool']))?$bool = $_GET['bool']:$bool=true;

switch ($sort) {
    case 'ui': ($bool)?$sort = "user_id ASC":$sort = "user_id DESC";
        break;
    case 'fn': ($bool)?$sort = "first_name ASC":$sort = "first_name DESC";
        break;
    case 'ln': ($bool)?$sort = "last_name ASC":$sort = "last_name DESC";
        break;
    case 'em': ($bool)?$sort = "email ASC":$sort = "email DESC";
        break;
}

$select_users = "SELECT shirt_users_id, user_id, first_name, last_name, email from shirt_users order by $sort";
$exec_select_users = @mysqli_query($link, $select_users);
if (!$exec_select_users) {
    echo "The user information could not be retrieved from the shirt_users table because of: ".mysqli_error($link);
    mysqli_close($link);
    include('footer_admin.php');
    die();
} else {
echo "<div id='list_users'><table id='list_user' border='0'>";
    echo "<tr>";
        echo "<th><a href='".$_SERVER['PHP_SELF']."?sort=ui&bool=".!$bool."'>User ID</a></th>";
        echo "<th><a href='".$_SERVER['PHP_SELF']."?sort=fn&bool=".!$bool."'>First Name</a></th>";
        echo "<th><a href='".$_SERVER['PHP_SELF']."?sort=ln&bool=".!$bool."'>Last Name</a></th>";
        echo "<th><a href='".$_SERVER['PHP_SELF']."?sort=em&bool=".!$bool."'>Email</a></th>";
        echo "<th>Delete</th>";
    echo "</tr>";
while ($one_row = mysqli_fetch_assoc($exec_select_users)) {
    echo "<tr>";
        echo "<td class='first'>".$one_row['user_id']."</td>";
        echo "<td class='second'>".$one_row['first_name']."</td>";
        echo "<td class='third'>".$one_row['last_name']."</td>";
        echo "<td class='fourth'>".$one_row['email']."</td>";
        echo "<td class='fifth'><a href='".$_SERVER['PHP_SELF']."?shirt_users_id=".$one_row['shirt_users_id']."'>Delete</a></td>";
    echo "</tr>";
}
echo "<tr><td colspan = '4' class='footer'>Total number of users: </td><td class='footer'>".mysqli_num_rows($exec_select_users)."</td></tr>";
echo "</table></div>";
}
mysqli_free_result($exec_select_users);
 } else {
echo "You are not an authentic administrator. Being directed to the login page...";
header("Refresh: 2; url='login.php'");
 }
 mysqli_close($link);
include("footer.php");
die();
?>

另外,我知道我的代码不是最有效的方式来做事情,但我是整个html / css / php场景的新手,我正在尽我所能所以请不要给我一些关于不同的方法请这样做!

0 个答案:

没有答案