我这里有一个代码将所有数据都插入到数据库中...我的问题是它无法正常工作我的代码有什么问题?任何人都可以查找我的代码,看看有什么问题?请
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>
我无法找到我的代码有什么问题...如果我点击按钮,我的插入查询就无法保存。
答案 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);