0

我有这个代码,它允许我发出请求以进行查询!

现在处理的表单具有以下代码:

<form action="edit_images.php" method="post">
<input type="hidden" value="<? echo $gal_id1 ?>" name="img_id1"  />
<input type="submit" value="Edit All Images"  />
</form>

虽然查询是这样的:

$img_id=$_REQUEST['img_id1'];
$sql="SELECT * FROM tbl_images WHERE Img_gal_id='$img_id'";

但它似乎不会取值......我的意思是,它不识别我之前打印过的 $img_id 并取确切的值。

让我向您展示我用来检索它的查询:

$sql = "SELECT gal_id,gal_title,gal_image FROM tbl_galleries where gal_id='" . $_REQUEST['gid'] ."';";
      $query = mysql_query($sql) or $myErrorsP = mysql_error();
      if(isset($myErrors) && $myErrorsP!=''){     
      } else {          
          $row = mysql_fetch_row($query);
          mysql_free_result($query);
          $gal_id    = $row[0];
          $gal_id1    = $row[0];
          $gal_title = $row[1];
          $gal_image = $row[2];                     
      } 
4

1 回答 1

2

;的末尾缺少 a echo,它没有按预期输出值。此外,您使用的是短标签,这可能会导致问题。你可能想自己改用<?php作为一个开场白<?

<input type="hidden" value="<?php echo $gal_id1; ?>" name="img_id1"  />

最后,您正在使用针对注入攻击的零保护。请研究 PDO 中准备好的语句并更新您的代码。你没有的第一次注入攻击会感谢你。

编辑:当您遇到这样的问题时,$sql在执行之前回显通常是一个好习惯。

你将来可以这样做:

$sql = "SELECT gal_id,gal_title,gal_image FROM tbl_galleries where gal_id='" . $_REQUEST['gid'] ."';";
echo $sql."<br>\n";
$query = mysql_query($sql) or $myErrorsP = mysql_error();

这可能会给你一个很好的指示问题是什么。

于 2012-08-22T12:56:48.843 回答