Как получить конкретные данные из определенного столбца в MySQL?

0

Мои данные:

Изображение 174551

Я хочу взять все данные в столбце dokumen_name которое содержит A12345.

Это мой запрос:

<?php 
        require "init.php";
        $sql = 'SELECT Id, dokumen_name, 
               tanggal, aksi, lokasi
               FROM log WHERE dokumen_name LIKE "A12345"';

        $result=mysqli_query($connection,$sql);

        if(! $result ) {
            die('Could not get data: ' . mysql_error());
        }

        while($row=mysqli_fetch_array($result)){
        ?>
      <tr>
        <td><?php echo $row["Id"];  ?></td>
        <td><?php echo $row["dokumen_name"];  ?></td>
        <td><?php echo $row["tanggal"];  ?></td>
        <td><?php echo $row["lokasi"];  ?></td>
        <td><?php echo $row["aksi"];  ?></td>
      </tr>      
      <?php
        }
      ?>

Он ничего не показывает. Что я упустил?

  • 1
    Вот как работает LIKE , смотрите здесь для справки: tutorialspoint.com/mysql/mysql-like-clause.htm . В частности, вы пропускаете знак % , поэтому LIKE "%A12345"' будет лучше.
  • 1
    Ваш вопрос вроде низкого качества; например, вы не создали stackoverflow.com/help/mcve . Для решения такой проблемы всегда пробуйте отдельные части; например выполнить запрос и просто var_dump результат. Таким образом, вы бы увидели, что он не возвращает строку и был бы ближе к решению вашей ошибки. Затем вы можете посмотреть документацию LIKE и перейти оттуда. Экономит много времени и защищает от этих неприятных голосов :)
Показать ещё 1 комментарий
Теги:
mysqli

4 ответа

1
Лучший ответ

попробуйте этот $sql = 'SELECT * FROM log WHERE dokumen_name LIKE "%A12345%"';

1

Узнайте, как шаблон

Создайте запрос sql как ниже. Знак процента и символ подчеркивания также могут использоваться в комбинациях!

SELECT Id, dokumen_name,tanggal, aksi, lokasi
FROM log 
WHERE dokumen_name LIKE "%A12345%" ';

Совет. Вы также можете комбинировать любое количество условий с помощью операторов AND или OR.

  • 0
    при всем уважении, все ответы правильные. я не могу принять все
  • 0
    Вы можете выбрать только один ответ @borneo
1

Если оператору LIKE предоставляется простая строка, такая как A12345, то она эквивалентна dokumen_name = 'A12345'. Чтобы этого избежать, вы можете использовать wildcards % для запроса полей, похожих, но не равных вашему поисковому запросу. Например:

$sql = 'SELECT Id, dokumen_name, 
           tanggal, aksi, lokasi
           FROM log WHERE dokumen_name LIKE "%A12345%"';
  • 0
    при всем уважении, все ответы правильные. я не могу принять все
1

Измените свой SQL-запрос, как показано ниже:

$sql = 'SELECT Id, dokumen_name, 
           tanggal, aksi, lokasi
           FROM log WHERE dokumen_name LIKE "%A12345%"';

Для типа Like вам нужно указать % со строкой

  • 0
    при всем уважении, все ответы правильные. я не могу принять все

Ещё вопросы

Сообщество Overcoder
Наверх
Меню