gpt4 book ai didi

JavaScript PHP $_Get 问题

转载 作者:行者123 更新时间:2023-11-29 01:54:24 25 4
gpt4 key购买 nike

所以我有一个 JavaScript 函数,它使用异步方法调用 PHP 文件。这是我的代码

JavaScript

var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback (xmlHttp.responseText);
}
xmlHttp.open("GET", "http://127.0.0.1/formulario/insertReporte.php?"+'nombreAlumno='+nombreAlumno+'&noCta='+noCta+'&semestre='+semestre, true);
xmlHttp.send(null);

这是我的 PHP 文件

<?php

$servername = "myServerName";
$username = "myUserName";
$password = "myPassWord";
$dbname = "myDb";

$nombreAlumno = $_GET['nombreAlumno'];
$noCta = intval($_GET['noCta']);
$semestre = intval($_GET['semestre']);

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO infoalumno (nombreAlumno,noCta,noSemestre)
VALUES ($nombreAlumno,$noCta,$semestre)";

if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo $last_id;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

我的问题出现在 $nombreAlumno = $_GET['nombreAlumno']; 这行,因为我收到此错误

enter image description here

在我的数据库中,我的 nombreAlumno 字段被声明为 varchar。

我知道我的连接有效,因为如果我将该行更改为 $nombreAlumno = intval($_GET['nombreAlumno']);,它会将 0 插入到我的数据库中。

知道我做错了什么吗?

最佳答案

您需要在您的值周围添加引号。在插入数据库之前也使用 mysqli_real_escape_string 来防止 sql 注入(inject)

$nombreAlumno=mysqli_real_escape_string($conn, $nombreAlumno);
$noCta=mysqli_real_escape_string($conn, $noCta);
$semestre=mysqli_real_escape_string($conn, $semestre);

$sql = "INSERT INTO infoalumno (nombreAlumno,noCta,noSemestre)
VALUES ('".$nombreAlumno."','".$noCta."','".$semestre."')";

关于JavaScript PHP $_Get 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33207249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com