我的PHP代码不会插入

时间:2014-01-26 07:42:33

标签: php html mysql

我这里有一个代码将所有数据都插入到数据库中...我的问题是它无法正常工作我的代码有什么问题?任何人都可以查找我的代码,看看有什么问题?请

html代码:

<form method="post"  name="frm" id="frm" >
  <input type="text" name="name1" id="query1" onBlur="getvalues1()" />
  <input type="radio" name="optA" value="1" onClick="optTotal()" />1
  <input type="radio" name="optA" value="2" onClick="optTotal()" />2
  <input type="radio" name="optA" value="3" onClick="optTotal()" />3
    |
  <input type="radio" name="optB" value="1" onClick="optTotal()" />1
  <input type="radio" name="optB" value="2" onClick="optTotal()" />2
  <input type="radio" name="optB" value="3" onClick="optTotal()" />3
    |
  <input type="radio" name="optC" value="1" onClick="optTotal()" />1
  <input type="radio" name="optC" value="2" onClick="optTotal()" />2
  <input type="radio" name="optC" value="3" onClick="optTotal()" />3
    |
  <input type="radio" name="optD" value="1" onClick="optTotal()" />1
  <input type="radio" name="optD" value="2" onClick="optTotal()" />2
  <input type="radio" name="optD" value="3" onClick="optTotal()" />3
  <input type="text" name="total" id="total" onKeyUp="optTotal()" /><br />
  <input type="text" name="aic1" id="aic1"/>
  <input type="text" name="batchcode1" id="batchcode1" /><br>
  <input type="submit" value="Test" name="calculate" id="press" />
  <br />

</form>

php代码:

<?php

if(isset($_POST['calculate']))
{
$name = array_key_exists('name1', $_POST) ? $_POST['name1'] : null;
//$name = $_POST['name'];
$score1 = array_key_exists('optA', $_POST) ? $_POST['optA'] : null;
//$score1 = $_POST['optA'];
$score2 = array_key_exists('optB', $_POST) ? $_POST['optB'] : null;
//$score2 = $_POST['optB'];
$score3 = array_key_exists('optC', $_POST) ? $_POST['optC'] : null;
//$score3 = $_POST['optC'];
$score4 = array_key_exists('optD', $_POST) ? $_POST['optD'] : null;
//$score4 = $_POST['optD'];
$aic = $_POST['aic1'];
//$score3 = $_POST['optC'];
$batchcode = $_POST['batchcode1'];
//$score4 = $_POST['optD'];
$total = ($score1 + $score2 + $score3 + $score4);

mysql_query("INSERT INTO score (name,score1,score2,score3,score4,total,aic,bathcode) VALUES ('$name','$score1','$score2','$score3','$score4','$total','$aic','$batchcode')");

    header("Location:home.php");
}

?>

得分脚本:

<script>
function optTotal()
{
var a1 = document.querySelector('input[name="optA"]:checked');
var b1 = document.querySelector('input[name="optB"]:checked');
var c1 = document.querySelector('input[name="optC"]:checked');
var d1 = document.querySelector('input[name="optD"]:checked');
if (a1 != null)
    a1 = parseFloat(a1.value);
else
    a1 = 0;
if (b1 != null)
    b1 = parseFloat(b1.value);
else
    b1 = 0;
if (c1 != null)
    c1 = parseFloat(c1.value);
else
    c1 = 0;
if (d1 != null)
    d1 = parseFloat(d1.value);
else
    d1 = 0;

document.frm.total.value=parseFloat(a1)+parseFloat(b1)+parseFloat(c1)+parseFloat(d1);
}
</script>

我无法找到我的代码有什么问题...如果我点击按钮,我的插入查询就无法保存。

1 个答案:

答案 0 :(得分:1)

我测试了它给我这个查询的代码:

INSERT INTO score 
(name,score1,score2,score3,score4,total,aic,bathcode)
VALUES 
('x1','2','3','2','2','9','x2','x3') 

将其粘贴到phpmyadmin并检查错误消息是否有。

但我真的没有看到任何MYSQL连接和数据库选择

如果(isset($ _ POST [ '计算'])) 因此,请确保已连接到sql并选择了一个数据库。

 $con = mysql_connect("localhost","user","pass");
 if(!$con){die("Can't connect.");}
 mysql_select_db("database_name",$con);

因为它似乎正在生成有效的查询。

编辑: Ed Cottrell所说的也很重要。 PDO示例:

$db = new PDO('mysql:host=localhost;dbname=DB_NAME;charset=utf8', 'DB_USER', 'DB_PASS');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

插入部分:

$stmt = $db->prepare("INSERT INTO score (name,score1,score2,score3,score4,total,aic,bathcode)
      VALUES (?,?,?,?,?,?,?,?)");
$stmt->execute(array($name,$score1,$score2,$score3,$score4,$total,$aic,$batchcode);