【发布时间】:2021-05-09 01:41:53
【问题描述】:
我需要有关将此 SQL 转换为准备好的语句的帮助。这是我的搜索栏。我希望我能得到一些帮助,因为我是这方面的初学者。
这是我的 SQL
$conn = mysqli_connect('localhost','root','','my_db');
$mysql = "SELECT * FROM catetable";
$bike_list = mysqli_query($conn,$mysql);
$catesql = "SELECT catename FROM catetable";
$cate_list = mysqli_query($conn,$catesql);
这就是我想更改为 Prepared Statement 的内容
if (isset($_GET['search']))
{
$search = $_GET['search'];
$searchlist = array();
$lowersearchlist = array();
$i = 0;
while ($one_cate = mysqli_fetch_assoc($cate_list))
{
$searchlist[$i] = $one_cate['catename'];
$lowersearchlist[$i] = strtolower($one_cate['catename']);
$i++;
}
if (in_array($search,$searchlist) || in_array($search,$lowersearchlist))
{
header("Location:feature.php");
}
else
{
header("Location:index.php?error=true");
}
}
【问题讨论】:
-
SQL 在哪里?
-
这段代码中没有任何东西可以转换。好像少了一部分。
$cate_list来自哪里? -
@El_Vanja 抱歉,我已经更新了问题。
-
由于您的查询没有参数,因此实际上不需要准备它们,只需调用
query就可以了。如果您仍然想转换,这一切都归结为调用prepare和execute,根据答案中的示例。 -
@El_Vanja 感谢您向我解释。
标签: php sql mysqli prepared-statement