Сравнение строк в php, полученных из базы данных sql server - PullRequest
0 голосов
/ 30 июня 2019

Я использую базу данных SQL Server, где одна из моих таблиц имеет тип столбца VARCHAR (MAX) . В этом столбце я храню строку BASE64.

В основном поток приложения:

  1. получить данные отпечатка пальца.
  2. закодировать его в строку BASE64.
  3. Сохраните его в базе данных сервера SQL, используя PHP, проверив его существование

    3a. Получить все отпечатки пальцев из базы данных

    3b. отметьте данные для вставки отпечатков пальцев со всеми отпечатками, полученными из базы данных

    3c. если с ним совпадает какой-либо отпечаток, вернуть false если какой-либо отпечаток пальца не совпадает с ним, вернуть true

  4. , если возвращаемое значение равно true, затем вставить отпечаток пальца с помощью следующего запроса, если false, то показать ошибку.

    INSERT INTO EMPTABLE ( Finger_Data ) values (  CONVERT( VARCHAR(MAX) , 
    $Finger_Data ) )
    

Чтобы получить и проверить отпечатки пальцев на шаге № 3, используется следующий код.

 $sqlString = "SELECT  CAST( Finger_Data AS VARCHAR(MAX)) AS FINGER FROM 
 EMPTABLE ";

 $stmt = $this->conn->prepare($sqlString);
            $stmt->execute();
            $data = $stmt->fetchAll();

  if ($stmt->rowCount() > 0) {

     if ($data) {
         foreach ($data as $row) {

                        $found = false;

                        if ($Finger_Data === $row['FINGER']){

                            echo "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
                            Duplicate found <<<<<<<<<<<<<<<< \
                            $found = true;

                        }

                        if($found){
                            echo "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
                            Implementing found <<<<<<<<<<<<<<<< \
                        }

         }

    }

  }

Вот мой вопрос: я не могу сравнивать эти две строки вообще. Когда я печатаю эти две переменные, я вижу их на 80 процентов равными, в то время как другие часть строки не совпадает. Однако, когда я непосредственно проверяю в базе данных данные показывают правильно, что означает чтение в PHP или запись из вопросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...