用于执行MySQL语句的php脚本不工作

用于执行MySQL语句的php脚本不工作,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我正在尝试对数据库执行INSERT语句。php文件存储在服务器上,我使用$u POST(带swift)发送语句的内容(分数和用户名)。但是,当我执行应用程序时,什么也没有发生,但是php文件返回的HTTP代码是200(表示OK) 所以我很难确定问题出在哪里。以下是完整的PHP文件,其中一些内容已被审查: <?php $postVar = $_POST['data']; $con = new mysqli($servername, $username, $password, $dbname

我正在尝试对数据库执行INSERT语句。php文件存储在服务器上,我使用$u POST(带swift)发送语句的内容(分数和用户名)。但是,当我执行应用程序时,什么也没有发生,但是php文件返回的HTTP代码是200(表示OK)

所以我很难确定问题出在哪里。以下是完整的PHP文件,其中一些内容已被审查:

<?php
$postVar = $_POST['data'];

$con = new mysqli($servername, $username, $password, $dbname);

if ($con->connect_error) {
    die("Connection failed: " . $con->connect_error);
} 

if (!empty($postVar) && strpos($postVar, ';') === false) {

    //This is just my method of obtaining the score/username. I've already checked, that it works fine.
    $score = substr($postVar, strpos($postVar, "score->") + 7);
    $username = substr($postVar, strpos($postVar, "username->") + 10, strpos($postVar, "_") - 10);

    // Perform query
    $sql = "INSERT INTO dbname.tablename (score, username) VALUES(" . $score . ", " . $username . ")";

    if ($con->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $con->error;
    }

    //Close connection
    $con->close();
}
?>

错误资源,请查找w3schools以外的任何内容。您需要学习如何调试。错误日志非常有用。用谷歌搜索这个
$username
可能是一个字符串,所以应该用引号括起来;或者最好使用参数化查询来处理报价。将$SQL字符串打印到控制台,以便查看它实际包含的内容。另外,在浏览器的调试器中查看页面的HTML输出,查看其中包含的文本字符串,查看查询是否有效。不要在if块中执行
$con->close()
。这不重要,但要习惯于关闭你打开的东西。您还可以使用
$\u REQUEST
而不是
$\u POST
,它将包含通过POST和GET发送的参数。我认为
$postVar
在您的脚本中是空的,这就是为什么它没有做任何事情。@ficuscr w3schools有什么不好的,他链接的特定页面也不好?不好的资源,找到w3schools以外的任何东西。您需要学习如何调试。错误日志非常有用。用谷歌搜索这个
$username
可能是一个字符串,所以应该用引号括起来;或者最好使用参数化查询来处理报价。将$SQL字符串打印到控制台,以便查看它实际包含的内容。另外,在浏览器的调试器中查看页面的HTML输出,查看其中包含的文本字符串,查看查询是否有效。不要在if块中执行
$con->close()
。这不重要,但要习惯于关闭你打开的东西。您还可以使用
$\u REQUEST
而不是
$\u POST
,它将包含通过POST和GET发送的参数。我想
$postVar
在您的脚本中是空的,这就是为什么它没有做任何事情。@ficuscr w3schools有什么不好的地方,以及他链接的特定页面?