PHP选择选项菜单不显示结果'里面它
问题描述:
嗨,今天我做了一个PHP和AJAX的动态选择选项菜单,它工作得很好,但是当选择一个选项 - >'< - 内部的话,它给我没有结果。我真的不知道为什么它什么都没有显示。PHP选择选项菜单不显示结果'里面它
这里是我已经建立了一个例子链接:EXAMPLE
这是我用它来获得第二个结果:
<?php
if(isset($_POST['get_option']))
{
require("../config.php");
$country = mysqli_real_escape_string($mysqli, $_POST['get_option']);
$find = mysqli_query($mysqli, "SELECT `league` FROM `teams` WHERE `country`='$country' GROUP BY `league`");
while ($row = mysqli_fetch_array($find))
{
echo "<option>".$row['league']."</option>";
}
exit;
}
?>
答
你需要躲避撇号,否则字符串会以意外终止方式解决,例如:
WHERE country = 'Women's Day'
更好的方法是通过在每个选择的选项设置它的值送国家的ID而不是字符串,是这样的:
<option value="23">Australia</option>
<option value="24">Austria</option>
<option value="25">Belgium</option>
,然后更改查询:
WHERE countryID = $id
您的代码容易受到[** SQL注入攻击**](https://en.wikipedia.org/wiki/SQL_injection)的影响。你应该使用[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)或[** PDO **](https://secure.php.net/ manual/en/pdo.prepared-statements.php)准备带有绑定参数的语句,如[**这篇文章**]所述(https://stackoverflow.com/questions/60174/how-can-i-prevent-sql步喷射功能于PHP)。 –
可能的重复[如何防止SQL注入PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Qirel
您需要发布您的ajax + html代码代替这一个 –