首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery在mysql中序列化和插入

问jQuery在mysql中序列化和插入
EN

Stack Overflow用户
提问于 2015-09-25 17:26:40
回答 2查看 2.3K关注 0票数 1

我有这样的代码,可以在数据库中插入一些来自一段时间的数据。我试图同时使用jQuery序列化和jQuery post。但我好像犯了一些错误

代码语言:javascript
复制
$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代码

代码语言:javascript
复制
 $(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)

代码语言:javascript
复制
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中插入值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-25 18:28:42

在变量替换之后,您的INSERT查询最终看起来是这样的。

代码语言:javascript
复制
INSERT INTO table VALUES( 'product', '123', '321')

如果您的table正好有三列,这将很好。否则就会失败。您可能希望使用此查询。

代码语言:javascript
复制
INSERT INTO table (prodotto, prezzo, quantita ) VALUES( 'product', '123', '321')

它枚举需要数据的列。

在执行插入(以及任何查询之后)之后,您应该检查错误。这可以用这样的代码来完成。

代码语言:javascript
复制
$res = mysql_query($q);
if ($res === false) {
    echo $mysql_error ();
}

注意:mysql_xxx()界面被从PHP中删除是有一个很好的理由的:它容易受到网络罪犯的攻击。请尽快采用mysqli_xxx()或PDO。

票数 1
EN

Stack Overflow用户

发布于 2015-09-25 19:36:41

最简单的方法是:

代码语言:javascript
复制
<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也非常简单:

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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);

?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32787575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档