Путаница при обновлении PHP

Я обновляю строку 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);
    }
}
?>

У меня такой вопрос: Я изо всех сил пытаюсь найти, в чем ошибка, и не мог, в чем именно. Это для моего выборного проекта.

сначала исправьте sql-инъекция.

danblack 14.01.2019 06:44

"и" - это не одно и то же.

GeneCode 14.01.2019 06:44

также каков вывод этого php? Ты нам не сказал.

GeneCode 14.01.2019 06:49

Я просто ищу ошибку, просто зайдите в мою учетную запись github. (github.com/cassandramaureenabante/My-Phonebook)

user10753638 14.01.2019 06:55

Касси, пожалуйста, скопируйте и вставьте ошибку, которую вы получаете в браузере. Вы видите сообщения об ошибках?

GeneCode 14.01.2019 07:13
if (msg == true || msg == false)? Зачем вообще нужен этот if-оператор (или даже confirm(), потому что вам наплевать на ответ)?
M. Eriksson 14.01.2019 07:19

Обнаружено несколько проблем. 1. Результат запроса SELECT не используется (хотя вы, вероятно, используете его в другом месте); 2. SQL-инъекция может произойти в вашем операторе UPDATE; 3. Бессмысленно использовать функцию confirm() JS (вы имеете в виду alert()?); 4. Без вывода заголовка и тела HTML вы не должны просто повторять тег <script>; 5. Большинство обратных кавычек бесполезны.

Raptor 14.01.2019 07:20

Что еще более важно, вы должны четко определить, какой запрос завершился ошибкой. Если ваш оператор UPDATE обновляет нулевую запись, вы считаете это ошибкой? Вы должны проверить количество строк, затронутых через mysqli_affected_rows($conn).

Raptor 14.01.2019 07:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
81
2

Ответы 2

use this function: 

function alertBox($alert_msg, $redirect_link)
{
    $alert = '<head><meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" /></head>';
    $alert .= '<script type = "text/javascript">alert("'.$alert_msg.'");';
    if (!empty($redirect_link)):
    $alert .='window.location = "'.$redirect_link.'";';
    endif; 
    $alert .='</script>;';
    return $alert;
}

// and for calling..

if ((mysqli_query($con,$sql))
{
 echo alertBox("sucessfull","example.php");
}

Это вообще не связано с проблемой.

Raptor 14.01.2019 07:15

Прежде всего, пожалуйста, узнайте, как использовать запросы на основе процедур, чтобы обезопасить себя от 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);
    }
}
?>

Другие вопросы по теме