Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL准备的状态查询与writerId和writer不匹配_Php_Mysql_Select_Prepared Statement - Fatal编程技术网

Php 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=$

我正在尝试查询一个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=$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
}