Почему оператор PHP if не работает в запросе

#php #sql

#php #sql

Вопрос:

Значение поступает из формы отправки.

 
    if(isset($_POST['Submit']))
    {
    $name=$_POST["Name"];
    }
    ?>
 

Не использует оператор if. Независимо от того, является ли $name пустым или нет, всегда добавляется предложение where .

     <?php
    $sql = "SELECT * FROM dirCsv_500" ?>
     <?php if (!empty($name)) {
       " where name like '%".$name."%'";
    } ?>
 

Комментарии:

1. Используйте trim(), чтобы убедиться, что там нет непечатаемых фрахтователей.

2. Это не тот код, который вызывает проблему. Этот код вообще не добавляет WHERE предложение. Пожалуйста, отправьте код, который на самом деле демонстрирует проблему.

Ответ №1:

вы можете сделать это следующим образом:

 if(isset($_POST['Name']))
 {
  $name=$_POST["Name"];
  // do what you need with given $name 
  //and then:
  sql = "SELECT * FROM dirCsv_500 WHERE name LIKE '%".$name."%'";
 }
else
 {
  sql = "SELECT * FROM dirCsv_500";
 }