插入数据库动态值

insert into database dinamic values

我有:

<form action='http://www.myadress.com/insert_wallet.php' method='post'>
    <iframe name='hidden-form' src='...' class='hf'></iframe>
 <input type='checkbox' name='pago' value='pago'> <br> </div><div class='tb1_small sc '>
  <input type='checkbox' name='recibo' value='recibo_entregue' > <br></div><div class='tb3_md sc '>
  <input type="hidden" name="id_p" readonly value=" <?php  echo "$events[0]";?> "> 
  <input type='Submit' value='Salvar'>
</form> 

和我的 insert_wallet.php :

// Get values from form
$pago=mysql_real_escape_string($_POST["pago"]);
$recibo=mysql_real_escape_string($_POST["recibo"]);
$id_p=mysql_real_escape_string($_POST["id_p"]);

// Insert data into mysql

$sql=" UPDATE bruno_wallet SET pago=$pago, recibo=$recibo where id=$id_p " ;
$result=mysql_query($sql);

这有什么问题吗?不知何故它不起作用...我想用行 id $id_p 行 pago e recibo 的值更新列。

请检查这行代码

 <input type="hidden" id="id_p" name='id_p'readonly value=" <?php  echo "$events[0]";?> "> 

您确定传递的 id_p 值正确吗?您回显双引号 ""

包围的值

不像这样

<?php  echo "$events[0]";?>

试试这个

<?php  echo $events[0]; ?>

同样,您从哪里获得等同于您正在回显的变量 $events[0] 的值。

或者。

还要确保首先将表单输入为文本,以确保您可以看到回显的值,然后再按照下面的方式再次隐藏它

 <input type="text" id="id_p" name='id_p'readonly value=" <?php  echo $events[0]; ?> "> 

或者您可以直接从表单输入中传递 id_p 值,然后查看它是否通过 post 更新数据库。范例

 <input type="text" id="id_p" name='id_p'readonly value="1234"> 

其中 1234 对应于 id_p 的值被回显

最后,如果您回显的这个值不是数字或整数,您可能容易受到 XSS 攻击。可以使用 htmlspecialchars()htmlentities() 函数来规避这种攻击。请记住,Mysql_Connect 已从 Gaint Sign 警告中删除。你最好开始使用 PDO 或 Mysqli

最终,您的 sql 更新状态应该类似于

$sql=" UPDATE bruno_wallet SET pago='$pago', recibo='$recibo' where id='$id_p'" ;

如果这解决了您的问题,请将其标记为正确答案