gpt4 book ai didi

php - 使用数组更新mysql数据库中的数据

转载 作者:行者123 更新时间:2023-11-29 14:08:51 24 4
gpt4 key购买 nike

我想更新数据库中已有的信息,但使用数组。我收到“成功更新”消息,白色数据库中的数据未更新。

以下是我用来执行插入的函数:

function update_knowledge_modules($update_data,$value)
{
$update = array();
array_walk($update_data,'array_clean');

foreach($update_data as $field=>$data)
{
$update[] = '.$field. = \''.$data.'\'';
}



$query = "UPDATE knowledge_modules SET".implode(', ',$update)."WHERE curr_code =$value";

mysql_query($query)
or die(mysql_error);

}

<?php

if(isset($_GET['success']) == true && empty($_GET['success'])==true)
{
echo 'Changed successfully';
}
else
{
if(empty($_POST)== false && empty($errors)== true )
{
$update_module = array(
'KM_Number'=>$_POST['KM_Number'],
'KM_Title'=>$_POST['KM_Title'],
'NQF_Level'=>$_POST['NQF_Level'],
'Credits'=>$_POST['Credits']


);

update_knowledge_modules($update_module,$_SESSION['Curr_Code']);
header('Location:edit_km_details.php?success');
exit();
}
else if(empty($errors)== false)
{
echo output($errors);
}

?>

<form action="edit_km_details.php" method="POST">

最佳答案

首先,您输出“更改成功”消息仅基于 $_GET['success'] 为真。它与您的 update_knowledge_modules 函数调用成功还是失败完全无关,这看起来很奇怪。

其次,我没有看到您在任何地方实际建立数据库连接。

第三,您的查询无疑是不正确的。看看这个:

$update[] = '.$field. = \''.$data.'\'';

您将在查询字符串中得到一个文字$field和反斜杠。试试这个:

$update[] = $field . " = '" . $data . "'";

此外,在最终查询中放置内爆数组的位置,SET 之后和 WHERE 之前没有空格。

任何时候您遇到查询问题,只需 var_dump 并直接在数据库上运行它,以查看它不起作用的原因并查看错误,包括 mysql 错误。

最后,您不应该使用 mysql_* 系列函数。它们已被弃用。

关于php - 使用数组更新mysql数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865425/

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