【发布时间】:2016-08-28 03:23:58
【问题描述】:
我已经非常努力地让这个简单的工作模型发挥作用。我的实际站点更大,但我简化了脚本以使事情变得简单(并排除故障)。
当我点击发送表单时,我不断收到“500”错误,我一直无法弄清楚我做错了什么。 (我已经建立了一个简单的数据库来捕获这一项)。
(PHP 文件名为“sample2.php”,位于与 html 相同的目录中。)
我的数据库截图:
我的 HTML 文件:
<html>
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<div name="maindiv" id="maindiv">
<span>sample1:</span> <input id="sample1" name="sample1" width="300px" type="text" value="sample1text" /><br />
</div>
<input type="button" name="sendit" value="Do it" id="sendit"/>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#sendit").on("click", function() {
var fieldvalue = [];
$('#maindiv input').each(function() {
fieldvalue.push([this.id, $(this).val()]);
});
console.log(fieldvalue);
$.ajax({
url: "sample2.php",
type: "POST",
dataType: "json",
data: JSON.stringify(fieldvalue),
success: function() {
alert("worked");
}
});
});
});
</script>
</body>
</html>
还有我的 PHP 文件:
<?
$pdo = new PDO("mysql:dbname=trialdb;host=extoleducation.ipagemysql.com","username","password");
$id = $_POST['sample1'];
$query->bindValue(':sample1', $sample1, PDO::PARAM_STR);
$sql = "INSERT INTO sampletable (sampleline) VALUES (:sample1);";
$query = $pdo->prepare($sql);
if($statment = $pdo->prepare($sql)) {
$statment->execute();
$statment->closeCursor();
exit();
}
?>
【问题讨论】:
-
为什么要一个接一个地准备两个?
-
而
$query->bindValue甚至比你还早$query = $pdo->prepare($sql); -
哦,那一定是个意外。谢谢!
-
所以将“$query->bindValue”行放在“$query = $pdo->prepare($sql);”行之后?
-
是的,但是您还没有回答为什么您有两个使用相同的 sql 语句进行准备。你只需要一个。