Php MYSQL准备的状态查询与writerId和writer不匹配
我正在尝试查询一个mysql语句,以便在下拉列表中匹配writerId和writer。我应该如何设置它,因为一切看起来都是正确的 我已经作了未经准备的发言Php MYSQL准备的状态查询与writerId和writer不匹配,php,mysql,select,prepared-statement,Php,Mysql,Select,Prepared Statement,我正在尝试查询一个mysql语句,以便在下拉列表中匹配writerId和writer。我应该如何设置它,因为一切看起来都是正确的 我已经作了未经准备的发言 <?php include('includes/config.php'); if(!empty($_POST["catid"])) { $id=intval($_POST['catid']); $query=mysqli_query($con,"SELECT * FROM tblwritter WHERE CategoryId=$
<?php
include('includes/config.php');
if(!empty($_POST["catid"]))
{
$id=intval($_POST['catid']);
$query=mysqli_query($con,"SELECT * FROM tblwritter WHERE CategoryId=$id and Is_Active=1");
?>
<option value="">Select Writter</option>
<?php
while($row=mysqli_fetch_array($query))
{
?>
<option value="<?php echo htmlentities($row['WritterId']); ?>"><?php echo htmlentities($row['Writter']); ?></option>
<?php
}
}
?>
选择写入程序
您实际上并没有准备查询。您正在将查询的结果集分配给$stmt
。相反,你应该写:
$stmt = $con -> prepare('SELECT * FROM tblwritter WHERE CategoryId=? and Is_Active=1');
接下来,需要使用fetch
从准备好的语句返回数据。您可以在循环中使用它,方法与调用mysqli\u fetch\u array
相同。删除您的第一个调用(因为它将占用您要输出的行):
并从以下内容开始替换循环:
while($row=mysqli_fetch_array($stmt))
与
while($stmt->fetch())
{
?>
您实际上并没有准备查询。您正在将查询的结果集分配给$stmt
。相反,您应该编写:
$stmt = $con -> prepare('SELECT * FROM tblwritter WHERE CategoryId=? and Is_Active=1');
接下来,您需要使用fetch
从准备好的语句返回数据。您可以在循环中使用它,方法与调用mysqli\u fetch\u array
相同。删除第一次调用(因为它将消耗您要输出的行):
并从以下内容开始替换循环:
while($row=mysqli_fetch_array($stmt))
与
while($stmt->fetch())
{
?>
代码仍然不起作用。我替换了while,但它仍然不起作用。我没有为此绑定正确的结果吗?@Neiko抱歉,我的错误,我忘记使用绑定的变量。请参阅我的编辑。是的代码仍然不起作用。while($row=mysqli\u fetch\u array($stmt)){?>@Neiko你应该删除该代码,并用我答案中的代码替换它。哦,是的,我给你发了错误的代码。但是我做了你的解决方案,它仍然不起作用。代码仍然不起作用。我替换了while,它仍然不起作用。我没有为此绑定正确的结果吗?@Neiko抱歉,我的错误,我忘了使用绑定变量。请参阅我的编辑。是的,代码仍然不起作用。而($row=mysqli\u fetch\u array($stmt)){?>@Neiko你应该删除该代码,并用我答案中的代码替换。哦,是的,我给你发了错误的代码。但我做了你的解决方案,它仍然不起作用。写作者是准备“写”的人吗?什么。不。这是为了当你添加一篇文章,选择一个类别,然后它会给你一个写作者列表准备“书面文件”的人?什么。不。这是当你添加一篇文章,选择一个类别,然后它会给你一个作者列表
while ($stmt->fetch())
{
?>
<option value="<?php echo htmlentities($WritterId); ?>"><?php echo htmlentities($Writter); ?></option>
<?php
}