Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在javascript中包含php sql更新吗?_Javascript_Php - Fatal编程技术网

我可以在javascript中包含php sql更新吗?

我可以在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

我正在尝试使用javascript和php的组合来在提交表单时更新sql数据库中的列。sql数据库的名称是“answers”,数据库中的列的名称是“FunctionsConsistence”,表单的id是“easytohard”。但是,我不确定是否可以在javascript代码中包含php(下面用星号标注)

 <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();