AX0101_4413 2021-07-06 17:05 采纳率: 95.7%
浏览 49
已采纳

用php将js变量存入mysql时出错

这是我的代码:

<script>
    var a="ABC";
</script>

<?php
$Y="<script>document.write(a)</script>";
$A=mysqli_connect("127.0.0.1", "root", "root");//连接mysql服务器
mysqli_select_db($A, "ax");//连接数据库
mysqli_query($A, "set name utf8");//执行语句:设置中文编码

$A6="insert into ax01
    (用户,正文)
    values
    ('B','$Y')
    ";
mysqli_query($A,$A6);//执行语句:添加数据

我希望数据库中存入的数据是“ABC”,然而数据库中存入的数据是:

img
(前12行不用看。13到17行是上面这段代码五次运行的结果)
我不知道哪里出错了。
我试过这样的代码:

<script>
    var a="ABC";
</script>

<?php
$Y="<script>document.write(a)</script>";
echo $Y;

这个代码是能正常运行的。
也试过这样的代码:

<?php
$Y="ABC";
$A=mysqli_connect("127.0.0.1", "root", "root");//连接mysql服务器
mysqli_select_db($A, "ax");//连接数据库
mysqli_query($A, "set name utf8");//执行语句:设置中文编码

$A6="insert into ax01
    (用户,正文)
    values
    ('B','$Y')
    ";
mysqli_query($A,$A6);//执行语句:添加数据

这个代码也是能正常运行的。
我不知道为什么二者结合就出错了。

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-07-06 17:09
    关注

    服务器端无法直接调用客户端js变量,需要用ajax提交后获取~帮助到你请点个采纳【右上角】,谢谢

    <script>
        var a = "ABC";
        $.ajax({
            url: 'xxx.php',///修改这里php的路径
            data: { a: a },
            type:'POST',
            complete: function (xhr) {
                alert(xhr.responseText)
            }
        })
    </script>
    

    然后php获取ajax提交的数据就没问题了

    <?php
    $Y=$_POST["a"];
    $A=mysqli_connect("127.0.0.1", "root", "root");//连接mysql服务器
    mysqli_select_db($A, "ax");//连接数据库
    mysqli_query($A, "set name utf8");//执行语句:设置中文编码
    $A6="insert into ax01
        (用户,正文)
        values
        ('B','$Y')
        ";
    mysqli_query($A,$A6);//执行语句:添加数据
    
    echo "插入成功";
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料