Я пытаюсь научиться динамически генерировать запрос mysql на основе полей формы, которые пользователь выбирает для заполнения данными. Чтобы сделать процесс обучения максимально простым, я использую простую форму с полем для имени и фамилии пользователей. Основной (нединамическая) версия кода выглядит следующим образом:динамически генерировать запрос mysql с php
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form method="post" name="test" action="dynamic_search.php">
<input type="text" name="first_name">
<input type="text" name="last_name">
<input type="submit" value="Submit">
</form>
<?php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
include "link.php";
$query = "SELECT * FROM members " .
"WHERE first_name = '$first_name' " .
"AND last_name = '$last_name' ";
$result = mysql_query($query)
or die(mysql_error());
$row = mysql_fetch_array($result);
$member_id = $row['member_id'];
$member_first_name = $row['first_name'];
$member_last_name = $row['last_name'];
echo $member_id;
echo $member_first_name;
echo $member_last_name;
?>
</body>
</html>
Что мне нужно, чтобы быть в состоянии сделать это генерировать запрос на основе данных, представленных. Таким образом, если пользователь вводит только свое имя запроса будет гласить:
$query = "SELECT * FROM members " .
"WHERE first_name = '$first_name' ";
Но если пользователь вводит как их имя и фамилию запрос будет гласить:
$query = "SELECT * FROM members " .
"WHERE first_name = '$first_name' " .
"AND last_name = '$last_name' ";
Любая помощь (или если кто-то может указать мне на хороший учебник), будем очень благодарны!
Спасибо!
Пожалуйста, прочитайте на [инъекции SQL] (http://en.wikipedia.org/wiki/SQL_injection) – Kibbee