Post php MYSQL 数据库的名称

Post Name to php MYSQL database

如果我上传一组字母,此 php 脚本会因错误|5 而终止,但如果我为 $phpSign 变量使用数字,则一切正常。

<?php
$device = $_POST["device"];
$randomChar = $_POST["randomChar"];
$phpSign = $_POST["Sig"];
    if($mysql->query("UPDATE premium SET signup = $phpSign WHERE (id, randomChar) = ('$device', '$randomChar')")) die("success");
    else die("error|5");
?>

为什么我不能使用脚本上传姓名,为什么它只能使用数字?如何将姓名上传到我的数据库?

您需要在 $phpSign 周围加上引号,因为它是字符,而不是数字。

    if($mysql->query("UPDATE premium SET signup = '$phpSign' WHERE (id, randomChar) = ('$device', '$randomChar')")) {
        die("success");
    } else {
        die("error|5:" . $mysqli->error);
    }

如我所示,当查询失败时,您应该显示 MySQL 错误消息,而不仅仅是一般错误消息。这样你就会知道它为什么失败了。

P.S。你应该学会使用准备好的语句而不是替换变量,那么你就不必担心引用,也可以避免 SQL 注入问题。