У меня есть запрос SQL, который основан на пользовательском вводе. Тем не менее, в таблице есть «-1» в конце каждого слова, которое вы ищете. Например, если вы хотите получить результат sql car, он на самом деле называется в базе данных car-1, но пользователь должен иметь возможность только искать автомобиль. Вот как это настроить:

$sql = "SELECT * FROM that WHERE this = ?";
$stmt = $conn->prepare($sql);
$search_query = $_POST['this'];
$stmt->bind_param('s', $search_query);
$stmt->execute();
$result = $stmt->get_result();

То, что я хочу, это то, что запрос выбора должен выглядеть так:

$sql = "SELECT * FROM that WHERE this = ? + '-1'";

Но ^^ не работает.

-1
reallarz 21 Дек 2019 в 05:26

3 ответа

$sql = "SELECT * FROM test WHERE NAME='car' & -1";

test = that
NAME= table name
'car' = this
0
Yuri Silva 21 Дек 2019 в 05:40

Почему бы вам просто не согласиться -1 на search_query:

$sql = "SELECT * FROM that WHERE this = ?";
$stmt = $conn->prepare($sql);
$search_query = $_POST['this'];
$stmt->bind_param('s', $search_query.'-1');
$stmt->execute();
$result = $stmt->get_result();
0
TsaiKoga 21 Дек 2019 в 06:23

Используя MySQL:

$sql = "SELECT * FROM that WHERE this = CONCAT(?, '-1')";

Используя PHP:

$stmt->bind_param('s', $search_query . "-1");
0
Anatoliy R 21 Дек 2019 в 06:25