MySQL INSERT INTO работал в php myadmin, но не в php-коде - PullRequest
0 голосов
/ 16 июня 2019

я работаю над простым множественным INSERT INTO, который прекрасно работает в phpmyadmin.

Когда я выполняю тот же код в php, я получаю сообщение об ошибке:

1064 В вашем SQL-файле есть ошибкасинтаксис;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом со значениями 'INSERT INTO fm_support_cont (sup_id_cont, mail, phone) ((ВЫБРАТЬ s' в строке 2

* 1010).* Спасибо: -)
INSERT INTO `fm_support` (`name`, `surname`, `role_id_sup`) VALUES (?,?,?);
                            INSERT INTO `fm_support_cont` (`sup_id_cont`, `mail`, `phone`) VALUES ((SELECT sup_id FROM `fm_support` WHERE name = ? AND surname = ?),?,?);
                            INSERT INTO `fm_user` (`user`, `isadmin`, `user_data`) VALUES (?,?,(SELECT sup_id FROM `fm_support` WHERE name =? AND surname = ?));

КОД PHP, который я использую:

private function includeNewUser()
    {
            $data       = $this->d;
            $newName    = $data[0];
            $newSurname = $data[1];
            $newRole    = $data[2];
            $newEmail   = $data[3];
            $newPhone   = $data[4];
            $newUser    = $data[5];
            $newIsadmin = $data[6];
            $newApw     = password_hash($data[7], PASSWORD_DEFAULT);

            $SQL        = " INSERT INTO `fm_support` (`name`, `surname`, `role_id_sup`) VALUES (?,?,?);
                            INSERT INTO `fm_support_cont` (`sup_id_cont`, `mail`, `phone`) VALUES ((SELECT sup_id FROM `fm_support` WHERE name = ? AND surname = ?),?,?);
                            INSERT INTO `fm_user` (`user`, `isadmin`, `user_data`) VALUES (?,?,(SELECT sup_id FROM `fm_support` WHERE name =? AND surname = ?));";

            $conn = $this->connect();
            if($stmt = $conn->prepare($SQL)) {
            $stmt->bind_param("ssisssssiss", $newName, $newSurname, $newRole, $newName, $newSurname, $newEmail, $newPhone, $newUser, $newIsadmin, $newName, $newSurname);

            $stmt->execute();
                //$result         = $stmt->get_result();
                //$insertResult   = $result->fetch_assoc();

                if($newIsadmin == 1)
                {
                    $stmt = $db->prepare("INSERT INTO `fm_apw`(`pw_for`, `pw`) VALUES ((SELECT id FROM fm_user WHERE user = ?), ?);");
                    $stmt->bind_param("ss",$newUser, $newApw);
                    $stmt->execute();
                }
                $result = true;
            }
            else
            {
                $result = $conn->errno . ' ' . $conn->error;
                echo $result; // 1054 Unknown column 'foo' in 'field list'
               //$result = false; 
            }
            return $result;    
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...