Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP更新混乱_Php_Mysql - Fatal编程技术网

PHP更新混乱

PHP更新混乱,php,mysql,Php,Mysql,我正在使用以下代码更新MySQL行。有谁能告诉我,如果更新查询成功且没有任何错误,如何对更新查询进行错误检查并仅打印成功?如果更新查询不成功,则打印失败 <?php //start the session session_start(); // include db configuration include('include/db_connect.php'); // user's information $member_id = $_SESSION['id']; $member_name

我正在使用以下代码更新MySQL行。有谁能告诉我,如果更新查询成功且没有任何错误,如何对更新查询进行错误检查并仅打印成功?如果更新查询不成功,则打印失败

<?php
//start the session
session_start();
// include db configuration
include('include/db_connect.php');
// user's information
$member_id = $_SESSION['id'];
$member_name = $_SESSION['name'];

$contact_id = $_GET['id'];
// $get_contact = "SELECT * FROM `contacts` where contacts_id = '$contact_id'";
$get_contact = mysqli_query($conn, "SELECT * FROM `contacts` where contacts_id = '$contact_id'");

$row = mysqli_fetch_array($get_contact);

if(isset($_POST['submit'])){
    $contact_id = $_POST['contact_id'];
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $cphone = $_POST['cphone'];
    $city = $_POST['city'];
    $update = "UPDATE `contacts` SET `first_name`='$fname',`last_name`='$lname',`cellphone_number`='$cphone',`city`='$city' WHERE contacts_id = ". $contact_id;
    if (mysqli_query($conn, $update)) {
        echo "
            <script>
                var msg = confirm('Contact Updated');
                if(msg == true || msg == false){
                    location.href='update_contact.php?id=$contact_id';
                }
            </script>
        ";
    } else {
        echo "Error: " . $update . "<br>" . mysqli_error($conn);
    }
}
?>
使用此功能:
函数alertBox($alert\u msg,$redirect\u link)
{
$alert='';
$alert.='alert(“.$alert_msg.”;”;
如果(!empty($redirect_link)):
$alert.='window.location=“”.$redirect_link.“;”;
endif;
$alert.=';';
返回$alert;
}
//谢谢你打电话来。。
if((mysqli_查询($con,$sql))
{
echo alertBox(“SuccessFull”、“example.php”);
}

首先,请学习如何使用基于过程的查询以避免SQL注入(我不是在这里提供有关过程和SQL注入的教程,它只是警告恶意代码)现在是您的代码解决方案。在查询中将变量与字符串连接的方式中出现了问题。我已经为您修复了这一部分

如果您仍然收到任何错误,请共享您收到的错误以及错误消息

<?php
//start the session
session_start();
// include db configuration
include('include/db_connect.php');
// user's information
$member_id = $_SESSION['id'];
$member_name = $_SESSION['name'];

$contact_id = $_GET['id'];

$get_contact = mysqli_query($conn, "SELECT * FROM `contacts` where contacts_id = '".$contact_id."'");

$row = mysqli_fetch_array($get_contact);

if(isset($_POST['submit'])){
    $contact_id = $_POST['contact_id'];
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $cphone = $_POST['cphone'];
    $city = $_POST['city'];
    $update = "UPDATE `contacts` SET `first_name`='".$fname."',`last_name`='".$lname."',`cellphone_number`='".$cphone."',`city`='".$city."' WHERE contacts_id = '".$contact_id."'";
    if (mysqli_query($conn, $update)) {
        echo "
            <script>
                var msg = confirm('Contact Updated');
                if(msg == true || msg == false){
                    location.href='update_contact.php?id=$contact_id';
                }
            </script>
        ";
    } else {
        echo "Error: " . $update . "<br>" . mysqli_error($conn);
    }
}
?>

首先修复。我只是查看错误,只需访问我的github帐户。(
如果(msg==true | | msg==false)
?为什么还要使用if语句(或者甚至是
确认()
,只要你不关心响应)?发现多个问题。1.没有使用SELECT查询的结果(不过,您可能会在其他地方使用它);2.SQL注入可能发生在您的UPDATE语句中;3.使用
confirm()
JS函数没有意义(您的意思是
alert()
?);4.如果没有HTML头和正文输出,您不应该只回显
标记;5.大多数反勾号都是无用的。更重要的是,您应该清楚地定义查询失败的原因。如果您的
UPDATE
语句更新了零记录,您是否将其视为失败?您应该通过
mysqli受影响的行($conn)检查受影响的行数
。这与问题完全无关。
<?php
//start the session
session_start();
// include db configuration
include('include/db_connect.php');
// user's information
$member_id = $_SESSION['id'];
$member_name = $_SESSION['name'];

$contact_id = $_GET['id'];

$get_contact = mysqli_query($conn, "SELECT * FROM `contacts` where contacts_id = '".$contact_id."'");

$row = mysqli_fetch_array($get_contact);

if(isset($_POST['submit'])){
    $contact_id = $_POST['contact_id'];
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $cphone = $_POST['cphone'];
    $city = $_POST['city'];
    $update = "UPDATE `contacts` SET `first_name`='".$fname."',`last_name`='".$lname."',`cellphone_number`='".$cphone."',`city`='".$city."' WHERE contacts_id = '".$contact_id."'";
    if (mysqli_query($conn, $update)) {
        echo "
            <script>
                var msg = confirm('Contact Updated');
                if(msg == true || msg == false){
                    location.href='update_contact.php?id=$contact_id';
                }
            </script>
        ";
    } else {
        echo "Error: " . $update . "<br>" . mysqli_error($conn);
    }
}
?>