我可以在javascript中包含php sql更新吗?
我正在尝试使用javascript和php的组合来在提交表单时更新sql数据库中的列。sql数据库的名称是“answers”,数据库中的列的名称是“FunctionsConsistence”,表单的id是“easytohard”。但是,我不确定是否可以在javascript代码中包含php(下面用星号标注)我可以在javascript中包含php sql更新吗?,javascript,php,Javascript,Php,我正在尝试使用javascript和php的组合来在提交表单时更新sql数据库中的列。sql数据库的名称是“answers”,数据库中的列的名称是“FunctionsConsistence”,表单的id是“easytohard”。但是,我不确定是否可以在javascript代码中包含php(下面用星号标注) <script type='text/javascript'> $(document).ready(function () { $('#easytohard').on('su
<script type='text/javascript'>
$(document).ready(function () {
$('#easytohard').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : $(this).attr('action') || window.location.pathname,
type: "POST",
data: $(this).serialize(),
success: function (data) {
******THIS IS THE PHP CODE*********
$stmt = $db->prepare("UPDATE answers SET FunctionsConsistency = 1
WHERE id = ? AND FunctionsConsistency = 0") or die($db->error);
$stmt->bind_param("i", $id);
$stmt->execute();
******************
},
});
});
});
</script>
$(文档).ready(函数(){
$('#easytohard')。关于('submit',函数(e){
e、 预防默认值();
$.ajax({
url:$(this.attr('action')| | window.location.pathname,
类型:“POST”,
数据:$(this).serialize(),
成功:函数(数据){
******这是PHP代码*********
$stmt=$db->prepare(“更新答案集函数一致性=1
其中id=?和FunctionsConsistency=0”)或die($db->error);
$stmt->bind_参数(“i”,$id);
$stmt->execute();
******************
},
});
});
});
谢谢 你不能像那样把Javascript和PHP混合在一起 Php应该在服务器端执行,而javascript应该在客户端执行 您可以将Php文件放在服务器上,然后使用ajax或其他方式将请求发送给它 比如:
<script type='text/javascript'>
$(document).ready(function () {
$('#easytohard').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : $('http://path/to/your/php/file/on/server'),
type: "POST",
data: {id: 'your desired id here'},
success: function (data) {
// if it reach this line, it means script on the php file is executed
},
});
});
});
</script>
请注意,您可以使用php中的$\u post
访问post参数
仍然有一些事情你应该考虑,例如当请求不能到达服务器或者如果服务器无法执行PHP文件……但是你知道了。
另外,看看和。希望这有帮助。谢谢!我试试看。对于“这里是您想要的id”的部分,我假设我不能使用$id=$SESSION['id'],因为这将是php。如何表明我想要与当前会话/用户关联的id?@user3666954因此,您不需要放置任何内容,只需删除参数即可。会话信息将自动发送,您可以在php文件上使用
$\u Session['id']
,不会出现任何问题。
<?php
$stmt = $db->prepare("UPDATE answers SET FunctionsConsistency = 1
WHERE id = ? AND FunctionsConsistency = 0") or die($db->error);
$stmt->bind_param("i", $_POST['id']);
$stmt->execute();