gpt4 book ai didi

PHP 不更新数据库中的所有数据

转载 作者:行者123 更新时间:2023-11-28 23:36:05 24 4
gpt4 key购买 nike

我有一个从服务器获取数据并且也可以编辑的表。当我更新几个数据字段时,它会完美更新,但如果我尝试同时更新大量数据字段,那么大多数字段都无法更新。

我认为 SQL 比 PHP 慢很多,并且 PHP 不等待 SQL 查询完成,这导致代码假定它不起作用并因此显示错误。我也试过 sleep(),但即使在 sleep(2); 之后,如果我做了很多更改,它仍然会遗漏一些值。 这是我的 jQuery 代码:

$(document).ready(function(){
$("#edit").click(function(){
$("td").attr('contenteditable', 'true');
});
var old_message;
$("td").click(function(){
old_message = $(this).text();
});

$("td").blur(function(){
var new_message = $(this).text();
if(old_message!=new_message)
{
$(this).addClass("changed");
old_message = null;
new_message = null;
}
});

$("#submit").click(function(){
$(".changed").each(function(){
var row_num = $(this).siblings().eq(0).text();
var col_name = $(this).attr("id");
var value = $(this).text();
var current = $(this);
$.post("../php/update_table.php",
{
id:row_num,
cn:col_name,
data:value
},
function(response,status){
if(response=="updated")
{
$(current).removeClass("changed");
}
else
{
alert("Failed");
}
});
});
location.reload(true);
});
});

这是我的 update.php:

<?php
if(isset($_POST['id']) && isset($_POST['cn']) && isset($_POST['data']))
{
$id = $_POST['id'];
$col_name = $_POST['cn'];
$data = $_POST['data'];
include "mysql_login.php";
$mysql_database = "bus_database";
$connect = mysqli_connect($host, $mysql_user, $mysql_pass, $mysql_database) or die("Couldn't Connect To The Database");
$time = false;
if($col_name=='a1_a1t' || $col_name=='a2_a2t' || $col_name=='d1_d1t' || $col_name=='d2_d2t')
{
$t_data = substr($data,0,-2);
$tz_data = substr($data, 9);
$t = substr($col_name,0, 2);
$tz = substr($col_name, 3);
$time = true;
}
if($time)
{
if($t_data == '' || $tz_data == '')
{
$t_data = "NULL";
$tz_data = "NULL";
$result = mysqli_query($connect, "UPDATE buses SET $t=$t_data, $tz=$tz_data WHERE id='$id'");
}
else
{
$result = mysqli_query($connect, "UPDATE buses SET $t='$t_data', $tz='$tz_data' WHERE id='$id'");
}

if($result)
{
echo("updated");
}
else
{
echo("failed");
}
}
else if($col_name == 'route' || $col_name == 'bus_num')
{
$result = mysqli_query($connect, "UPDATE buses SET $col_name='$data' WHERE id='$id'");
if($result)
{
echo("updated");
}
else
{
echo("failed");
}
}
mysqli_close($connect);
}
else
{
echo("Failed");
}
?>

最佳答案

我使用的是导致问题的 XAAMP 版本 5。版本 7 修复了所有问题。

关于PHP 不更新数据库中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35700125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com