Мои данные:
Я хочу взять все данные в столбце 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
}
?>
Он ничего не показывает. Что я упустил?
попробуйте этот $sql = 'SELECT * FROM log WHERE dokumen_name LIKE "%A12345%"';
Узнайте, как шаблон
Создайте запрос sql как ниже. Знак процента и символ подчеркивания также могут использоваться в комбинациях!
SELECT Id, dokumen_name,tanggal, aksi, lokasi
FROM log
WHERE dokumen_name LIKE "%A12345%" ';
Совет. Вы также можете комбинировать любое количество условий с помощью операторов AND или OR.
Если оператору LIKE
предоставляется простая строка, такая как A12345
, то она эквивалентна dokumen_name = 'A12345'
. Чтобы этого избежать, вы можете использовать wildcards %
для запроса полей, похожих, но не равных вашему поисковому запросу. Например:
$sql = 'SELECT Id, dokumen_name,
tanggal, aksi, lokasi
FROM log WHERE dokumen_name LIKE "%A12345%"';
Измените свой SQL-запрос, как показано ниже:
$sql = 'SELECT Id, dokumen_name,
tanggal, aksi, lokasi
FROM log WHERE dokumen_name LIKE "%A12345%"';
Для типа Like вам нужно указать %
со строкой
LIKE
, смотрите здесь для справки: tutorialspoint.com/mysql/mysql-like-clause.htm . В частности, вы пропускаете знак%
, поэтомуLIKE "%A12345"'
будет лучше.var_dump
результат. Таким образом, вы бы увидели, что он не возвращает строку и был бы ближе к решению вашей ошибки. Затем вы можете посмотреть документацию LIKE и перейти оттуда. Экономит много времени и защищает от этих неприятных голосов :)