[英]Connecting AJAX to MySQL (PHP)
我有一个与PHP,MySQL,AJAX和JQuery有关的作业。 目前,我遇到脚本问题,希望有人能帮助我。 该脚本用于更新MySQL中的字段。 该脚本似乎无法正常工作。 这是脚本:
function updatedata(id) {
var id = id;
var name = $('#name' + id).val() ;
var url = $('#url' + id).val() ;
var imageurl = $('#imageurl' + id).val() ;
var description = $('#description' + id).val() ;
var datas = "name=" + name + "&url=" + url + "&imageurl=" + imageurl + "&description=" + description;
$.ajax({
type: "POST",
url: "update.php?id=" + id;
data: datas;
}).done(function (data) {
$('#info').html(data);
viewdata();
});
}
以下是“ update.php”文件中包含的代码:
<?php
include ('header.php');
if(isset($_GET['id'])) {
$stmt = $connection->prepare("UPDATE news_source SET name=?, url=?, description=?, imageurl=? where id=?");
$stmt->bind_param('sssss', $full_name, $url_1, $descript_ion, $image_url, $id);
$full_name = mysqli_real_escape_string($connection, $_POST ['name']);
$url_1 = mysqli_real_escape_string($connection, $_POST ['url']);
$descript_ion = mysqli_real_escape_string($connection, $_POST ['description']);
$image_url = mysqli_real_escape_string($connection, $_POST ['imageurl']);
$id = $_GET ['id']);
if($stmt->execute()))
{ ?>
<div class = "alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"> × </span>
</button>
<strong>Success!</strong>
Record has been added.
</div>
<?php } else { ?>
<div class = "alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"> × </span>
</button>
<strong>Error!</strong>
Record failed to add.
</div>
<?php }
include ('footer.php');
?>
编辑:该脚本在相同的php文件“ maintain.php”中被调用为:
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" onclick="updatedata('<?php echo $rows['id']; ?>')" class="btn btn-primary">Save changes</button>
</div>
编辑:
问题描述:好的,问题是我无法更新MySQL数据库中的字段。 主文件应允许用户编辑Bootstrap Modal中存在的数据,然后运行AJAX以动态更新数据库而无需刷新页面。 目前,主文件仅显示可编辑的数据,但是我无法更新数据库中的数据。 单击“保存更改”按钮后,什么也不会发生。
注意:我试图使用如何显示PHP错误中显示的信息? 显示php错误,但不幸的是它什么也不显示。
您要绑定参数,然后将其转义。 首先获取参数并逃脱,然后将其绑定,而您没有对ID进行消毒。
$full_name = mysqli_real_escape_string($connection, $_POST ['name']);
$url_1 = mysqli_real_escape_string($connection, $_POST ['url']);
$descript_ion = mysqli_real_escape_string($connection, $_POST ['description']);
$image_url = mysqli_real_escape_string($connection, $_POST ['imageurl']);
$id = intval($_GET ['id']));
$stmt->bind_param(1, $full_name);
$stmt->bind_param(2, $url_1);
$stmt->bind_param(3, $descript_ion);
$stmt->bind_param(4, $image_url);
$stmt->bind_param(5, $id);
回显您的HTML Div(警报模态)。 像这样:
echo '<div class = "alert alert-success alert-dismissible" role="alert">';
echo '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
echo '<span aria-hidden="true"> × </span>';
echo '</button>';
echo '<strong>Success!</strong>';
echo 'Record has been added.';
echo '</div>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.