如何使用变量的名称搜索数据库


How to search a database with the name of a var

所以,我这里有这段代码,它所做的只是错误a... 404????(只是一个小故障,但仍然如此。使用远程 HTTP 访问它不起作用。它应该)

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "INSERT INTO $user(Username, Password, Membership)
VALUES ($usn, $psw, $membership)";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

你为什么不试试:

$sql = "INSERT INTO " . $user . "(Username, Password, Membership) VALUES (" . $usn . "," . $psw . "," . $membership. ")"

你可能想写:

$sql = "INSERT INTO ".$user."(Username, Password, Membership)
VALUES 
('".$usn."', '".$psw."', '".$membership."')";

$sql = "INSERT INTO user(Username, Password, Membership)
VALUES 
('".$usn."', '".$psw."', '".$membership."')";

转义您的输入并添加 real_escape_string() 调用会更好。所以我会以一种将值转义为字符串并且查询将它们作为字符串处理的方式编写它:

$sql = "INSERT INTO user(Username, Password, Membership)
    VALUES 
    ('".$conn->real_escape_string($usn)."', 
     '".$conn->real_escape_string($psw)."', 
     '".$conn->real_escape_string($membership)."'
    )";

我希望这至少有一点帮助。