php - 如何让我的代码写入数据库
问题描述
我要做的就是写入数据库,我相信连接没有建立。但是我之前已经将代码写入数据库,这就是我过去连接到它的方式。现在我不确定是否在我的 java 脚本代码中我没有正确获取值。
由于我正在处理 INTS,因此我决定执行一个设置值的存储过程。在处理 JSON 时,我仍然是初学者,我认为这也可能是问题的一部分。有任何想法吗?
var ProcessManager;
var Validator;
function submit(){
var formHash = new Hash();
formHash.collectDate = $('itemDate').value;
formHash.txtMain = $('txtMain').value;
//radiobuttons
$$('input[name=iMenuChoiceID').each(function(el){
if(el.getProperty('checked'))
formHash.menuChoiceID = el.value;
});
//txtboxes
formHash.txtMain = $('txtMain').value;
formHash.txtSide = $('txtSide').value;
formHas.txtAlternative = $('txtAlternative').value;
menuProcessManager.setOptions({
data: {
'encFormData' : JSON.encode(formhash)
}
}).send();
}
function clearMenu(){
alert("The form has been resetted.");
$('menuMsg').set('html', '');
$('txtMain').value = '';
$('txtSide').value= '';
$('txtAlternative').value = '';
$('input[name=iMenuChoiceID').each(function(el){
if(el.value ==1){
el.setProperty('checked', true);
});
}
menuValidator.reset();
});
/**Add window.addevent ***/
window.addEvent('domready', function(){
/*site validators*/
Validator = new Form.Validator.Inline('Form', {
onFormValidate : function(passed, form, event) {
if (passed) {
event.preventDefault();
submit();
}
}
});
/*JSON Request Managers*/
ProcessManager = new Request.JSON({
method:'post',
async: false,
url: 'includes/file/Process.php',
data: {
'encFormData' : ''
},
onRequest : function(){
$('Submit').disabled = true;
$('Submit').set('value', 'Processing...');
$('successMsg').set('html', '');
$('successMsg').setStyle("display", "none");
},
onSuccess : function(responseText){
var returnVals = new Hash(response);
$('Submit').set('value', 'Submit');
$('Submit').disabled = false;
var results = responseText.split("/");
if (results[0] == 'Success') {
$('successMsg').set('html', 'Success! );
menuClear();
}else {
alert(responseText);
}
return true;
}
});
});
进程.php
<?php
session_start ();
// decodedFormData
$decFD = json_decode ( $_POST ['encFormData'] );
try{
$dbh = new PDO ( 'db', '', '' );
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction ();
//stored procedure just declares the columns with their paramters since I have a couple of INTs
$stmt = $dbh( "exec uspWebAdder ?, ?, ?, ?, ? ");
$stmt->bindParam ( 1, $decFD->ChoiceID, PDO::PARAM_INT );
$stmt->bindParam ( 2, $_SESSION ['userID'], PDO::PARAM_INT );
$stmt->bindParam ( 3, $decFD->txtMain, PDO::PARAM_STR );
$stmt->bindParam ( 4, $decFD->txtSide, PDO::PARAM_STR );
$stmt->bindParam ( 5, $decFD->txtAlternative, PDO::PARAM_STR );
$dbh = null;
} catch ( PDOException $e ) {
$errMsg = "There was a database error:<br>" . $e->getFile () . ' (' . $e->getLine () . ')<br>' . $e->getMessage ();
$errMsg .= "<br><br>SQL : " . $sql;
echo $errMsg;
die ();
}
echo "Success"
?>
解决方案
推荐阅读
- javascript - 如何使用 Mapbox GL JS 和对象制作等值线地图?
- python - 如何从 gitlab CI 工件文件夹发布覆盖率报告?
- reactjs - 材质 UI 样式化组件如何应用样式
- r - 合并来自同一列的各种 DataFrame
- python - 如何修复 LaTeX Standalone.cls 在 Heroku 上找不到问题?
- ruby - AWS Lambda 链接不适用于 RDS Postgres
- javascript - javascript 变量在传递给函数时显示为 NaN
- keyboard-events - Apache Royale:如何检测 j:textInput 上的输入键
- kotlin - IntelliJ Kotlin 变量建议
- javascript - http.send 在后端返回 [object object] (Node + Express)