2012-08-22 39 views
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];      
     } 
+3

http://bobby-tables.com/ – Quentin

+0

什么是Img_gal_id的类型,如果INT不会输入$ img_id ... $ sql =“SELECT * FROM tbl_images WHERE Img_gal_id = $ img_id”; –

回答

2

你缺少你的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(); 

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

+0

非常感谢:) – Alb