将名称发布到php MYSQL数据库

时间:2015-05-01 04:50:19

标签: javascript php mysql unity3d upload

如果我上传了一组字母,这个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");
?>

为什么可以;我用脚本上传名字,为什么它只适用于数字?如何将名称上传到我的数据库?

1 个答案:

答案 0 :(得分:2)

你需要$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注入问题。