PHP MySQL:解析错误:语法错误,意外的T_变量

PHP MySQL:解析错误:语法错误,意外的T_变量,php,mysql,sdk,coronasdk,Php,Mysql,Sdk,Coronasdk,我正在为我的android应用程序创建一个mysql数据库,以保存和加载前10名的高分系统。多年来我对php和mysql有一些了解,但我不是专家。感谢您的帮助: 完整代码为: <?php define("DB_DSN",'yourdbname'); define("DB_HOST",'localhost'); define("DB_USER",'yourdblogin'); define("DB_PASS",'yourdbpass');   // Connecting, selecting

我正在为我的android应用程序创建一个mysql数据库,以保存和加载前10名的高分系统。多年来我对php和mysql有一些了解,但我不是专家。感谢您的帮助:

完整代码为:

<?php
define("DB_DSN",'yourdbname');
define("DB_HOST",'localhost');
define("DB_USER",'yourdblogin');
define("DB_PASS",'yourdbpass');
 
// Connecting, selecting database
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect: ' . mysql_error());
mysql_select_db(DB_DSN) or die('Could not select database');
 
if(isset($_GET)) {
    $playername = base64_decode($_GET["playername"]);
    $password = base64_decode($_GET["password"]);
    $query = 'SELECT * FROM players WHERE playername="' . mysql_real_escape_string($playername) . '" or email="' . mysql_real_escape_string($loginid) . '"';
    $dbresult = mysql_query($query, $link);
    if (!$dbresult) {
        //echo "query failed";
        $result = array();
        $result["result"] = 403;
        $result["message"] = mysql_error();
        echo json_encode($result);
        mysql_free_result($dbresult);
        exit;
    }
    $player = mysql_fetch_array($dbresult, MYSQL_ASSOC);
    if (strcmp($player["password"],md5($password)) == 0) {
        $result = array();
        $result["result"] = 200;
        $result["message"] = "Success";
        $result["playername"] = $player["playername"];
        $result["firstname"] = $player["firstname"];
        $result["lastname"] = $player["lastname"]; 
        $query = sprintf("UPDATE players SET lastlogin=NOW() WHERE id=%s;", $player["id"]);
        $uresult = mysql_query($query, $link);
        if ($uresult) {
            //code if your update failed.  Doesn't really impact what we are doing. so do nothing.
        }
        echo json_encode($result);
    } else {
        //echo "password mismatch";
        $result = array();
        $result["result"] = 403;
        $result["message"] = "Forbidden";
        echo json_encode($result);
    }
} else {
    $result = array();
    $result["result"] = 400;
    $result["message"] = "Bad Request";
    echo json_encode($result);
}
exit;

不确定您是否已修复此问题。那是很久以前的事了

但这就是如何在php代码或查询中轻松找到错误的方法

  • 要开始,请将以下内容添加到php文件的顶部(在打开之后[ 错误报告(E_全部); ini_设置(“显示错误”、“打开”)

  • 这将显示页面上的php错误

  • 然后使用

    $sql = your sql query
    $query = mysqli_query($link, "$sql") or die(mysqli_error($link);
    
  • 第二个将打印mysql错误,然后您可以使用它来修复您的问题


    您总是可以使用上面的内容来查找问题。

    这段代码与您服务器上运行的代码完全一样吗?如果您更改了它,我们将无法识别问题,因为这是一个解析错误。此外,可能值得一看mysqli,因为mysql扩展现在已被弃用。@RiggsFolly有一个解析错误,所以mysql\u Error()不会运行。此外,mysql_error()不会导致解析错误,不管它返回什么。
    $link=mysql_connect(DB_HOST,DB_USER,DB_PASS)或die('cannotconnect to DB');
    我想你不需要
    mysql_error()
    在这种情况下,这与我个人无关,我会利用这段时间将PHP
    mysql\u*
    函数更改为
    mysqli\u*
    函数。这也可能是问题的一部分。
    $sql = your sql query
    $query = mysqli_query($link, "$sql") or die(mysqli_error($link);