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 注入问题。
如果我上传一组字母,此 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 注入问题。