我已经在本地机器上创建了表单、数据库表等,但是数据没有被插入。如果我运行打印sql查询并将其粘贴到PHP中,那么它将插入值。有人能指导我找出不将值插入数据库的问题吗?以下是我的代码:
不要看帖子的价值。他们会好起来的。问题必须出现在PHP代码中,这正是我所认为的。
$hlr2RegQty=$_POST['txtHLR2Reg'];
$hlr2MicroQty=$_POST['txtHLR2Micro'];
$hlr2NanoQty=$_POST['txtHLR2Nano'];
$hlr3RegQty=$_POST['txtHLR3Reg'];
$hlr3MicroQty=$_POST['txtHLR3Micro'];
$hlr3NanoQty=$_POST['txtHLR3Nano'];
$count= $hlr1RegQty+$hlr2RegQty+$hlr3RegQty+$hlr1MicroQty+$hlr2MicroQty+$hlr3MicroQty+$hlr1NanoQty+$hlr2NanoQty+$hlr3NanoQty;
$conn=mysql_connect('localhost','root','');
mysql_select_db('prime_comm', $conn);
$query="INSERT INTO `prime_comm`.`newsim`(`Invoice No`, `HLR-1`, `HLR-2`, `HLR-3`, `HLR-4`, `MICRO-1`, `MICRO-2`, `MICRO-3`, `NANO-1`, `NANO-2`, `NANO-3`, `Total Count`, `Amount`, `VAT`)
VALUES( $invoiceNo, $hlr1RegQty,$hlr2RegQty,$hlr3RegQty,0,$hlr1MicroQty,$hlr2MicroQty,$hlr3MicroQty,$hlr1NanoQty,$hlr2NanoQty,$hlr3NanoQty,$count, 0,0)";
$flag = mysql_query($query);
?>发布于 2014-02-12 07:41:00
试着把单引号放在变量周围;
$query="INSERT INTO `prime_comm`.`newsim`(`Invoice No`, `HLR-1`, `HLR-2`, `HLR-3`, `HLR-4`, `MICRO-1`, `MICRO-2`, `MICRO-3`, `NANO-1`, `NANO-2`, `NANO-3`, `Total Count`, `Amount`, `VAT`)
VALUES( '$invoiceNo', '$hlr1RegQty', '$hlr2RegQty', '$hlr3RegQty', 0, '$hlr1MicroQty', '$hlr2MicroQty', '$hlr3MicroQty', '$hlr1NanoQty', '$hlr2NanoQty', '$hlr3NanoQty', '$count', 0,0)";此外,不要假设post数据是您所期望的,或者是干净/安全的,因为这对sql注入非常开放。我还建议使用mysqli_*函数而不是mysql_*函数,mysql_*函数在较新版本的PHP中不受欢迎。希望这会有所帮助:)
发布于 2014-02-12 07:39:44
首先,您容易受到SQL注入的影响。这是个严重的安全漏洞。
第二,您需要将值放入“
就像这样($value必须首先使用mysql_real_escape_string或类似的方法进行消毒):
'$value'发布于 2014-02-12 07:40:15
还可以尝试查看您现在忽略的错误消息。
$flag = mysql_query($query) or die(mysql_errno() . ' ' . mysql_error());这将使您更深入地了解查询的问题所在。还可以尝试清理您的输入,因为人们只需在数据库中执行SQL注入。
https://stackoverflow.com/questions/21721529
复制相似问题