我在我的网站(汽车网站)上有一个搜索输入,我正在使用该搜索输入来搜索他们的品牌的汽车...让我们说奥迪,宝马等...我想知道是否有'我可以输入的方式:
奥迪R8并没有显示任何东西,它会显示出汽车的样子 SELECT品牌,型号FROM汽车WHERE品牌=第一空间,型号=第二空间......这样的东西,而不是创建两个输入......所以我只能在输入内输入全名奥迪R8 Spyder或只是奥迪R8,它只显示R8型号......
谢谢,
答案 0 :(得分:1)
使用此:
<?php
$input = 'Audi R8';
$arr = explode(' ', $input); //to separate the input
$sql = "SELECT * FROM automoviles WHERE marca like '%$arr[0]%' or modelo like '%$arr[1]%'";
?>
使用转义 编辑1
<?php
$input = 'Audi R8';
$arr = explode(' ', $input);
$input1 = mysqli_real_escape_string($conn, $arr[0]);
$input2 = mysqli_real_escape_string($conn, $arr[1]);
$sql = "SELECT * FROM automoviles WHERE marca like '%$input1%' or modelo like '%$input2%'";
?>
答案 1 :(得分:0)
您尝试使用php的爆炸功能,以便获得两个变量。
<?php
$dcs_str = "audi m8";
$dcs_arr = explode(" ",$dcs_str); ?>
答案 2 :(得分:0)
您可以将该输入分成两部分。例如:
var input = "Audi R8";
var space = input.indexOf(" ");
var firstspace = input.substring(0, space); // Audi
var secondspace = input.substring(space); // R8
所以你的sql会是这样的:
SELECT brand, model FROM cars WHERE brand = firstspace, model=secondspace