Понимание ssssii в строке 32

Я просматриваю этот код, который я получил с YouTube, чтобы помочь мне понять, как подключить PHP к MySQL.

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$gender = $_POST['gender'];
$email = $_POST['email'];
$phoneCode = $_POST['phoneCode'];
$phone = $_POST['phone'];
if (!empty($username) || !empty($password) || !empty($gender) || !empty($email) || !empty($phoneCode) || !empty($phone)) {
 $host = "localhost";
    $dbUsername = "root";
    $dbPassword = "";
    $dbname = "youtube";
    //create connection
    $conn = new mysqli($host, $dbUsername, $dbPassword, $dbname);
    if (mysqli_connect_error()) {
     die('Connect Error('. mysqli_connect_errno().')'. mysqli_connect_error());
    } else {
     $SELECT = "SELECT email From register Where email = ? Limit 1";
     $INSERT = "INSERT Into register (username, password, gender, email, phoneCode, phone) values(?, ?, ?, ?, ?, ?)";
     //Prepare statement
     $stmt = $conn->prepare($SELECT);
     $stmt->bind_param("s", $email);
     $stmt->execute();
     $stmt->bind_result($email);
     $stmt->store_result();
     $stmt->store_result();
     $stmt->fetch();
     $rnum = $stmt->num_rows;
     if ($rnum==0) {
      $stmt->close();
      $stmt = $conn->prepare($INSERT);
      $stmt->bind_param("ssssii", $username, $password, $gender, $email, $phoneCode, $phone); //line 32
      $stmt->execute();
      echo "New record inserted sucessfully";
     } else {
      echo "Someone already register using this email";
     }
     $stmt->close();
     $conn->close();
    }
} else {
 echo "All field are required";
 die();
}
?>

Мой вопрос: что делают «ssssii» в строке 32?

а также какие значения (?,?,?,?,?,?) на $insert для?

Источник: Код и монеты YouTube.

Он определяет типы данных следующих параметров. «s» — строка, «i» — целое число. В этом случае $username, $password и т. д. имеют типы string, string, string, string, integer, integer. Это необходимо для того, чтобы сервер MySQL использовал правильные типы данных при привязке параметров перед выполнением фактического запроса.

Gowire 26.12.2020 09:31

Спасибо, я думал, что это просто случайное утверждение раньше.

Al_Muzakier 26.12.2020 09:35

Конечно, вы видите, что `$stmt->store_result(); $stmt->store_result();` выглядит довольно странно. Предполагая, что столбец email является уникальным ключом в этой таблице, даже не пытайтесь проверить, существует ли значение email в таблице (в любом случае это проблема, связанная с «условиями гонки»). Просто попробуйте ВСТАВИТЬ его. Если INSERT не работает, предположим, что адрес электронной почты уже указан.

mickmackusa 28.12.2020 06:27
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
3
149
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это подготовленное заявление. S — строка i — целое число. (?,?,?,?) для того, чтобы скрипт знал, где привязать параметры к

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