Переменная PHP в MySQL запросе превращается в 0

204
07 декабря 2017, 01:33

Есть переменная $ch_id, которая берется из массива и по началу берется правильно. HTML форма:

<form method="POST" action="db_change.php">    
        <p><input placeholder="Имя" type="text" name="ch_name" autocomplete="on" /><br />
            <p><input placeholder="Почта" type="email" name="ch_email" autocomplete="on" /><br />
            <p><input placeholder="Телефон" type="tel" name="ch_phone" autocomplete="on" /><br />
            <p><input placeholder="Отдел" type="text" name="ch_division" autocomplete="on" /><br />
            <p><tr><input type="submit" name="update" value="Изменить"/>
            <tr><a href="index.php" class="tab">
                    <input type="button" name="return" value="назад" /></a>        
        </form>

PHP код:

$sr_id=$_POST['arr'];
        $ch_id =intval($sr_id[0]);
        var_dump($ch_id);
        $ch_name=htmlspecialchars($_POST['ch_name']);
        $ch_email=htmlspecialchars($_POST['ch_email']);
        $ch_phone=htmlspecialchars($_POST['ch_phone']);
        $ch_division=htmlspecialchars($_POST['ch_division']);
        $guery_change="UPDATE `users` SET `name_user`='$ch_name', `email`='$ch_email', `phone_number`='$ch_phone', `division`='$ch_division' WHERE `id_user` = '$ch_id' ";
        var_dump($guery_change);
        $result_change=mysqli_query($link, $guery_change) or die(mysql_error());
        var_dump($result_change);
        if($result_change == 'true') {
            echo "<p> Ваши данные успешно обновлены ";}
                else {
                     echo "<p> Ваши данные не обновлены";} 

Пока я не нажимаю сабмит:

C:\server\data\htdocs\workcourse\db_change.php:27:int 7
C:\server\data\htdocs\workcourse\db_change.php:33:string 'UPDATE `users` SET `name_user`='', `email`='', `phone_number`='', `division`='' WHERE `id_user` = '7' ' (length=102)

После нажатия сабмита получаем:

C:\server\data\htdocs\workcourse\db_change.php:27:int 0
C:\server\data\htdocs\workcourse\db_change.php:33:string 'UPDATE `users` SET `name_user`='Городкова Анна', `email`='gorodkova@example.com', `phone_number`='453456', `division`='Офис' WHERE `id_user` = '0' ' (length=164)
C:\server\data\htdocs\workcourse\db_change.php:35:boolean true

Получается что переменная приходит в запрос не правильно, но я не знаю как это исправить.

READ ALSO
Создание зависимого select без привязки к модели на Yii2

Создание зависимого select без привязки к модели на Yii2

В виджете ActiveForm при создании задачи(offers) предполагается, что будет исполнитель, за которым эта задача закрепляетсяВ таблице offers executor_responsible...

244
Организация таблиц бд

Организация таблиц бд

Есть сайт, на котором будут размещаться статьиЯ создал таблицу в базе, в которой собираюсь хранить привью статьи, она содержит такие поля:

160
Разбить массив на несколько если идет прерывание при увеличение значения массива на +1

Разбить массив на несколько если идет прерывание при увеличение значения массива на +1

Есть массив $array[1,2,3,4,5,8] В массиве нету значения 6,7Мне нужно $array разбить на два массива, логика разбиения если значение массива не увеличивается...

223