Как связать неизвестное количество параметров с Mysqli? Например, следуя моему коду:
<?php include 'config.php'; $query = "SELECT * FROM table WHERE"; if(isset($_POST['r1'])) $query = $query." id = '$_POST['r1']'"; if(isset($_POST['r2'])) $query = $query." AND par2 = '$_POST['r2']'"; $e = mysqli_prepare($conf, $query); ?>
Как выполнить привязку параметров?
Подготовленные утверждения, вероятно, не лучший способ сделать это. Вы можете собрать запрос так же, как вы это делаете, если вы убедитесь, что вы избегаете ввода пользователем. Например:
<?php // assuming $db is a mysqli object $query = "SELECT * FROM table WHERE"; if(isset($_POST['r1'])) $query = $query."id = '".$db->real_escape_string($_POST['r1'])."'"; if(isset($_POST['r2'])) $query = $query." AND par2 = '".$db->real_escape_string($_POST['r2'])."'"; $result = $db->query($query); ?>
Не забудьте добавить требуемую проверку ошибок.