我正在尝试使用ajax并将变量从js传递到php,以便将其插入到mysql表中。 下面的代码成功调用了php脚本,但未传递数据
我想将以下js函数中的“ num”传递给“ insertRow.php”-该函数确实会激活“ insertRow.php”,但不会传递数据
function InsertToTable(num){
var data=num;
$.ajax({
url: "insertRow.php",
data: data,
type: "POST"
});
一旦传递数据,我想将其插入到mysql表中,如果我不使用“ $ num”,而只是放一个值代替,则下面的方法会起作用
<?php
$num = $_Post['data'];
//print_r($_Post("data"));
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Schedule";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql ="INSERT INTO `temp1` (`coloumn1`) VALUES ('$num')";
$conn->query($sql);
?>
答案 0 :(得分:3)
您可以执行此操作...
data: {data : num},
或者,因为您设置了data = num;
,所以您可以这样做:
data: {data: data},
第一个data
是标识符,第二个是值。
这将使您可以访问POST(区分大小写)变量中的数据:
$_POST['data'] // should be equal to num
答案 1 :(得分:0)
看起来像错字,
的
black
尝试
ul > li { color: red; }
ul > li li { color: black; }
此外,向AJAX发送退货也是一种好习惯,因此最终您可以使用
$num = $_Post['data'];
或在发生错误的情况下将其设置为false,这样您就可以在AJAX的成功子句中查看查询是否有效。
这是更复杂的AJAX调用的示例。
$num = $_POST['data'];