作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个带有弹出窗口的表,无法使用 xeditable 插件进行编辑,并尝试使用 ajax 调用将我的数据提交到数据库。以下是我的表行代码:
echo "<td><a href=\"#\" id='sel' data-pk=\"$row[loan_id]\">" . $row['loan_status'] . "</a></td>";
我尝试过调试,在 Firefox 的“网络”选项卡中我可以看到发布的数据如下:表格数据:名称:“贷款金额”值:“2000”PK:“1”
但 post.php 的响应是此字段是必需的。这是我的 post.php 代码
$pk = $_POST['pk'];
$name = $_POST['name'];
$value = $_POST['value'];
/*
Check submitted value
*/
if(!empty($value)) {
$result = mysql_query('update k_loans set '.mysql_escape_string($name).'="'.mysql_escape_string($value).'" where loan_id ="'.mysql_escape_string($pk).'"');
print_r($_POST);
} else {
echo "This field is required!";
}
我的 xeditable 插件的 jquery 代码如下:
$(document).ready(function() {
//toggle `popup` / `inline` mode
$.fn.editable.defaults.mode = 'popup';
$('#loan a').editable({
type: 'text',
name: 'loan_amount',
url: '../payments/post.php',
title: 'Enter amount',
ajaxOptions: {
type: 'put'
}
});
});
但我无法理解这个问题,因为查询对我来说似乎完全正常,但数据库仍然没有更新。
任何可以引导我走向正确方向的人。谢谢
最佳答案
他们的 github 上的 xeditable 提供的脚本的第一个问题使用了 mysql,现在使用起来并不安全。所以我把它们全部转移到使用mysqli。这是供任何人引用的工作代码:
<?php
$server = "localhost";
$username = "user";
$password = "pass";
$database = "db";
$con = new mysqli($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_connect_error($con));
echo "Cudnt cnnect";}
else{
echo "connected";
}
var_dump($_POST);
$pk = $_POST['pk'];
$name = $_POST['name'];
$value = $_POST['value'];
/*
Check submitted value
*/
if(!empty($value)) {
if ($result = mysqli_query($con,'update k_loans set '.mysqli_real_escape_string($con,$name).'="'.mysqli_real_escape_string($con,$value).'" where loan_id ="'.mysqli_real_escape_string($con,$pk).'"'));
{
echo "Update successful";
}
mysqli_close($con);
print_r($_POST);
} else {
echo "This field is required!";
}
?>
关于php - 数据库查询不适用于 xeditable 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652935/
我是一名优秀的程序员,十分优秀!