Поиск с PDO и с помощью Prepard Statements

140
26 ноября 2019, 11:40

Допустим, я хочу сделать поиск. Этот код ищет 2 или 3 заданых слова одновременно, это хорошо, так и задумано.

Вопрос, как сделать этот поиск через Prepared Statements и bindParam или bindValue чтобы недопустить SQL инъекции. Я понимаю стандарт кода на PHP.NET-prepare и прочие. Всё, что я пробовал, не дало результата. Я уверен что проблема находится в переменной $sql_where_string, но как эту всю информацию передать в SELECT Statement? Код, так как он щас есть, работает. Ну это конечно не серьёзно.

for($i = 0; $i < sizeof($searchword); $i++) {
                    if (!empty($searchword[$i])) {
                        $sql_where_string .= "name1 LIKE '%".$searchword[$i]."%' 
                                            OR name2 LIKE '%".$searchword[$i]."%' 
                                            OR столб1 LIKE '%".$searchword[$i]."%' 
                                            OR столб2 LIKE '%".$searchword[$i]."%' 
                                            OR столб3 LIKE '%".$searchword[$i]."%' 
                                            OR столб4 LIKE '%".$ssearchword[$i]."%'";
            if($i < (sizeof($searchword) -1)) {
                            $sql_where_string .= " OR ";
              }
             }
            }
        $stmt = $db->prepare('SELECT id, name1, name2, name3, name4 FROM table WHERE '. $sql_where_string. ' ORDER BY ' . $orderby_1);
        } else {
        $stmt = $db->prepare("SELECT id, name1 name2, name3, name3 FROM table ORDER BY " . $orderby_1);
        $stmt->execute();
        foreach($stmt as $row){
               echo "и прочие";
          }
READ ALSO
Зачем нужны абстрактные классы?

Зачем нужны абстрактные классы?

Какую роль в этом коде (из книги) играют абстрактные классы?

110
Как передать blob на сервер и записать их?

Как передать blob на сервер и записать их?

Пример брал отсюдаПомогите реализовать сохранение файла конкретно на сервере в автоматическом режиме, а не сохранение файла на компьютер...

120
Передать на почту изображение в base 64

Передать на почту изображение в base 64

<img name="signature" src="data:image/png;base64,iVBORw0KGgoAAAANSUhE

89