Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Имеет ли смысл такая проверка?

Всем привет! Подскажите плз, правильна ли такая конструкция и точнее нужна ли проверка на существование insert_id?
public function createUserFromSocialId($provider, $social_id, $name, $email){

		$provider 	= $this->db->real_escape_string($provider);
		$social_id 	= intval($social_id);
		$name 		= $this->db->real_escape_string($name);
		$email 		= $this->db->real_escape_string($email);

		if($this->db->query("INSERT INTO `users` (`name`, `email`) VALUE('{$name}','{$email}')")){
			$user_id = $this->db->insert_id;

			if(!empty($user_id)){
				$query = "INSERT INTO `users_social` (`provider`, `social_id`, `user_id`) 
						  VALUE('{$provider}', '{$social_id}','{$user_id}')";

				if($this->db->query($query)){
					return true;
				}

				$this->db->query("DELETE FROM `users` WHERE `id` = {$user_id}");
			}

			
		}

		return false;

	}
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
MLDevelop
@MLDevelop
все, конечно, зависит от бизнес-процесса. если дополнительно какие-то действия необходимо проделать в случае успешного добавления записи, то проверку можно оставить. только б лучше сделать так: в случае пустого insert_id выбросить исключение. а далее продолжать выполнять как есть. в таком случае можно будет избавиться от дополнительной вложенности if.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽