Строка данных не может появиться при доступе API в php - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть неоднозначная проблема, когда доступ к данным, которые ничего не могут показать, трудно объяснить, может быть, с помощью этой картины можно описать все из них у меня есть данные в базе данных

enter image description here

//PLU = 1001151100006 its show the data
//PLU = 1002206200009 its not show the data

$plu = cekget('plu');
$sql = "select Long_Description from item_master where plu = '$plu'";

$datas = array();
$result = sqlsrv_query( $conn, $sql );
if ($result){
        while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {
                extract($row);
                 $datas[] = array("Long_Description" => $Long_Description);
        }     
}
$json = array("status" => 1, "respone" => $datas);
echo json_encode($json);

должны отображаться данные PLU = 1002206200009 'Сумка Abigail Bucket Bag маленького черного цвета' , но она не может появиться, и неоднозначные точки возникают, когда слово Black удалено, данные появляются

это то, как я пытаюсь получить доступ к данным PLU = 1001151100006 и их появление enter image description here

и это так жеЯ пытаюсь получить доступ к данным PLU = 1002206200009, его исчезновение enter image description here

Пожалуйста, кто-нибудь, кто поможет мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Попробуйте использовать параметр в вашем операторе SQL:

<?php
$sql = "select Long_Description from item_master where plu = ?";
$plu = cekget('plu');
$params = array($plu);

$result = sqlsrv_query($conn, $sql, $params);
if ($result){
    while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
        $datas[] = array("Long_Description" => $row['Long_Description']);
        # Just for test:
        print_r($row, true);
    }     
}
$json = array("status" => 1, "respone" => $datas);
echo json_encode($json);
?>

Если вы хотите удалить неразрывные пробелы, используйте следующий оператор:

$sql = "SELECT Long_Description FROM item_master WHERE REPLACE(plu, NCHAR(0x00A0), '') = ?";
0 голосов
/ 14 декабря 2018

Убедитесь, что в столбце с PLU = 1002206200009 нет места.

UPDATE {your_table} SET PLU=TRIM(plu);

Дайте мне знать, если вы все еще застряли в этом вопросе

С уважением

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