Php 数据库查询不使用xeditable插件
我已经创建了一个表,其中包含使用xeditable插件进行弹出式未编辑,并尝试使用ajax调用将数据提交到数据库。以下是我的表格行代码:Php 数据库查询不使用xeditable插件,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我已经创建了一个表,其中包含使用xeditable插件进行弹出式未编辑,并尝试使用ajax调用将数据提交到数据库。以下是我的表格行代码: echo "<td><a href=\"#\" id='sel' data-pk=\"$row[loan_id]\">" . $row['loan_status'] . "</a></td>"; 我的th xeditable插件jquery代码如下: $(document).ready(function() {
echo "<td><a href=\"#\" id='sel' data-pk=\"$row[loan_id]\">" . $row['loan_status'] . "</a></td>";
我的th 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'
}
});
});
但我无法理解这个问题,因为查询对我来说似乎很好,但数据库仍然没有得到更新
任何能指引我正确方向的人。感谢xeditable在其github上提供的脚本的第一个问题是使用mysql,而现在使用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中尝试三件事:(1)在查询数据库之前打印$\u POST数组-如果出现DB错误,您将看不到它(2)将查询格式化为PHP字符串变量并打印它-我认为这是您的问题,(3)始终关注mysqlerrors@bitfiddler谢谢你的来访和建议,但我已经解决了这个问题,并发布了解决方案。再次感谢
<?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!";
}
?>