gpt4 book ai didi

php - 不会更新数据库中的记录

转载 作者:行者123 更新时间:2023-11-29 14:31:38 26 4
gpt4 key购买 nike

我现在的问题:WHERE 子句中指定(硬编码)的特定 ID 上的任何值都不会更新。

有人看出我做错了什么吗?

我有一个大约有 7 个字段需要填写的表格。目前,我只是想让代码与硬编码的 SQL 查询一起使用,例如 WHERE fanID=2,然后我将使其稍后与 session 变量一起使用。

我有 (3) 个文件:

HTML:

<form method="post" id="FanDetail">
<textarea id="bio" name="fan_bio" />
<input id="dob" name="fan_dob" />
<input id="actualZip" />
<input id="actualOccup" />
<input id="fbkurl" />
<input id="twiturl" />
<input id="phoNum" />
</form>

一个 JS 文件,链接到 HTML 文件:

$(document).ready(function(){
$("form#FanDetail").submit(function() {
// store the values from the form input box, then send via ajax below
var bio = $('#bio').attr('value');
var dob = $('#dob').attr('value');
var zip = $('#actualZip').attr('value');
var occup = $('#actualOccup').attr('value');
var fbkurl = $('#fbkurl').attr('value');
var twiturl = $('#twiturl').attr('value');
var phoNum = $('#phoNum').attr('value');
$.ajax({
type: "POST",
url: "../../../php/registration/about/submitvalues_about_tab.php",
data: "bio="+ bio +"&amp; dob="+ dob +"&amp; zip="+ zip +"&amp; occup="+ occup +"&amp; fbkurl="+ fbkurl +"&amp; twiturl="+ twiturl +"&amp; phoNum="+ phoNum,
success: function(){
$('form#FanDetail').hide(function(){$('div.success').fadeIn();});
}
});
return false;
});
});

一个 PHP 文件,由上述 JS 文件链接:

///////////////////////////////////////////////
######## Get Input to Submit ############## //
///////////////////////////////////////////////
$fanBio = $_POST['fan_bio']; //////
$fanDob = $_POST['fan_dob']; //////
$zipval = $_POST['actualzipval']; //////
$occupval = $_POST['actualOccupval'];//////
$facebookurl = $_POST['fan_fbk']; //////
$twitterurl = $_POST['fan_twit']; //////
$phoneNum = $_POST['fan_pho']; //////
///////////////////////////////////////////////

try{
## Get current user and their session ID:
$sessionvar = session_id();
### DB Connection already established above.
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

// INSERT CLEAN DATA INTO TABLE…
$sth = $dbh->prepare("
UPDATE Fan
SET fanBio=?,fanDob=?,fanDetLocID=?,occupID=?,fanFbk=?,fanTwit=?,fanPho=?
WHERE fanID=2
");
$sth->bindParam(1,$fanBio);
$sth->bindParam(2,$fanDob);
$sth->bindParam(3,$zipval);
$sth->bindParam(4,$occupval);
$sth->bindParam(5,$facebookurl);
$sth->bindParam(6,$twitterurl);
$sth->bindParam(7,$phoneNum);
$sth->execute();
}

catch(PDOException $e){
file_put_contents('../../../../PDODBConnectionErrors.txt','ERROR: [submitvalues_about_tab.php] about '.$e->getMessage(), FILE_APPEND);
}

我对 jQuery .ajax() 还很陌生,所以别介意。

但是,我遇到了问题:

  • 检查上面 catch{} 中的错误日志 - 最初我的查询出现错误,但我已经修复了这些错误,其中不再出现任何内容
  • 通过硬编码值测试查询本身 - 输入良好
  • 已检查以确保 jquery 文件/php 文件 链接正确 -> 它们

谢谢

最佳答案

一个建议-.post()和serialize()来最小化你的代码:

$(document).ready(function(){
$("form#FanDetail").submit(function() {
$.post(
"../../../php/registration/about/submitvalues_about_tab.php",
$("form#FanDetail").serialize(),
function(){
$('form#FanDetail').hide(function(){
$('div.success').fadeIn();
});
});
return false;
});
});

关于php - 不会更新数据库中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912349/

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