插入数据库动态值
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'" ;
如果这解决了您的问题,请将其标记为正确答案
我有:
<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'" ;
如果这解决了您的问题,请将其标记为正确答案