首页 > 解决方案 > 如何在数据库中可变地插入 JavaScript

问题描述

我试图在数据库中插入 JavaScript 变量的值,但 $.ajax 没有响应。如果有任何其他方法可以完成这项任务,请帮助我。

JS:

 var num=0;
      $('#add').click(function(){
        $.ajax({
            url: 'php/insertlevel.php',
            type: 'post',
            data: num,
        });
        });

PHP:

<?php 
include "connect.php";
$val=$_POST['num'];
echo "i am called dont worry";
$sql="INSERT INTO `level` (`level`) VALUES ($val)";
$insert=mysqli_query($con,$sql);

if ($insert) {
    echo "Data insert";
}
 else{
    echo "not insert";
 } 
 ?>

标签: javascriptphpajax

解决方案


数据必须是一个对象。对象的属性是您$_POST在 PHP 脚本中获取的内容。

      $('#add').click(function(){
       var num = 0;

        $.ajax({
            url: 'php/insertlevel.php',
            type: 'post',
            data: {num: num},
        });
   });

您的 PHP 文件看起来不错(假设 $con 是连接)。你错过的只有一件事。值周围的单引号。

<?php 
    include "connect.php";
    $val=$_POST['num'];
    echo "i am called dont worry";
    $sql="INSERT INTO `level` (`level`) VALUES ('$val')"; //NOTICE, YOU SEE THE SINGLE QUOTES AROUND THE VAL VARIABLE?
    $insert=mysqli_query($con,$sql);

    if ($insert) {
        echo "Data insert";
    } else{
        echo "not insert";
      } 
 ?>

这应该为您解决问题。

但是,在您“掌握”了这一点之后,我强烈建议您查看PDOMYSQLI使用准备好的语句。这将确保您可以安全地抵御 SQL 注入。

我建议您查看 PHP 手册,但是(至少,对我来说是这样)w3schools 以一种新手的方式对其进行了解释。但是,当您成长为开发人员并且实际上必须为实时环境实施时,它是一个非常不受欢迎的网站。

https://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php https://www.w3schools.com/php/php_mysql_prepared_statements.asp


推荐阅读