我有这样的代码,可以在数据库中插入一些来自一段时间的数据。我试图同时使用jQuery序列化和jQuery post。但我好像犯了一些错误
$query= "SELECT * FROM barcode_prodotti";
$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo'
<input type="text" name="prodotto[]" class="prodotto" value="'.$row["prodotto"].'"></div>
<input type="text" name="prezzo[]" class="price" value="'.$row["prezzo"].'">
<input type="text" name="quantita[]" class="price" value="'.$row["quantita"].'">';
}
?>
<script src="js/mine.js"></script>
<button>Serialize form values</button>
</form>
<div id="results"></div>这是我在mine.js中输入的mine.js代码
$(document).ready(function(){
$('form').submit(function(msg) {
var mia =$(this).serialize();
$('#results').text(mia)
alert($(this).serialize()); // check to show that all form data is being submitted
$.post("testtest.php",$(this).serializeArray(),function(data){
alert(data);
});
return false; });
});这是我的php文件(testtest.php)
mysql_connect("localhost","root","");
mysql_select_db("db");
$arr = $_POST;
$sql="INSERT INTO table VALUES(
'".$arr['prodotto']."',
'".$arr['quantita']."',
'".$arr['prezzo']."'
)";
$rssql = mysql_query($sql);
?>因此,我的序列化是ok的(我试图在div中赋值以查看它是否正常),但我无法在db中插入值。
发布于 2015-09-25 18:28:42
在变量替换之后,您的INSERT查询最终看起来是这样的。
INSERT INTO table VALUES( 'product', '123', '321')如果您的table正好有三列,这将很好。否则就会失败。您可能希望使用此查询。
INSERT INTO table (prodotto, prezzo, quantita ) VALUES( 'product', '123', '321')它枚举需要数据的列。
在执行插入(以及任何查询之后)之后,您应该检查错误。这可以用这样的代码来完成。
$res = mysql_query($q);
if ($res === false) {
echo $mysql_error ();
}注意:mysql_xxx()界面被从PHP中删除是有一个很好的理由的:它容易受到网络罪犯的攻击。请尽快采用mysqli_xxx()或PDO。
发布于 2015-09-25 19:36:41
最简单的方法是:
<form id="myform" method="post">
<input type="text" name="prodotto" id="prodotto">
<input type="text" name="prezzo" id="prezzo">
<input type="text" name="quantita" id="quantita">
</form>Jquery也非常简单:
var datastring = $("#myform").serialize();
$.ajax({
type: 'POST',
url: 'url/to/yourfile.php',
data: datastring
}).done(function(res){
var res = $.trim(res); //the ajax response. you can alert it or whatever...
});您可以像这样解析ajax文件中的字段:
yourfile.php
<?php
$product = mysql_real_escape_string($_POST["prodotto"]);
$prezzo = mysql_real_escape_string($_POST["prezzo"]);
$quantity = mysql_real_escape_string($_POST["quantita"]);
//here you have the variables ready to add them as values to database
$ins = "INSERT INTO table (prodotto, prezzo, quantita ) VALUES( 'product', '123', '321')";
mysql_query($ins);
?>https://stackoverflow.com/questions/32787575
复制相似问题