javascript - 如何在数据库中可变地插入 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";
}
?>
解决方案
数据必须是一个对象。对象的属性是您$_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";
}
?>
这应该为您解决问题。
但是,在您“掌握”了这一点之后,我强烈建议您查看PDO
或MYSQLI
使用准备好的语句。这将确保您可以安全地抵御 SQL 注入。
我建议您查看 PHP 手册,但是(至少,对我来说是这样)w3schools 以一种新手的方式对其进行了解释。但是,当您成长为开发人员并且实际上必须为实时环境实施时,它是一个非常不受欢迎的网站。
https://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php https://www.w3schools.com/php/php_mysql_prepared_statements.asp
推荐阅读
- angular - ng 服务时出错。使用 mapbox/mapbox-gl-draw
- python - ValueError:无法将字符串转换为浮点数:'-4.0'
- r - 在 R 中按组添加带日期戳的观察
- php - 在 Symfony 应用中注册事件监听器
- python - 屏蔽二维数组并根据屏蔽索引对第二个数组进行操作
- solr - Solr SpellCheck 组件自定义频率字段?
- scala - 使用 flink 发送多个主题 kafka sink
- c - 在 C 中初始化的 const 数组定义是否需要长度参数?
- python - 熊猫 str.split(' ') 返回 NaN
- java - 如何一起迭代三个不同的集合