Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否更正在PHP中返回错误结果的SQL查询? //检查用户是否存在 $query=“从steamid=?限制1”的玩家中选择playerID”; if(mysqli_stmt_prepare($stmt,$query)){ 回声“蒸汽ID:$in_蒸汽ID…”; mysqli_stmt_bind_param($stmt,'s',$in_steamID); mysqli\u stmt\u bind\u result($stmt,$out\u playerID); mysqli_stmt_execute($stmt); 如果(mysqli_stmt_fetch($stmt)){ $in_playerID=$out_playerID; } } echo(“玩家ID:$in_playerID”);_Php_Sql_Mysqli - Fatal编程技术网

是否更正在PHP中返回错误结果的SQL查询? //检查用户是否存在 $query=“从steamid=?限制1”的玩家中选择playerID”; if(mysqli_stmt_prepare($stmt,$query)){ 回声“蒸汽ID:$in_蒸汽ID…”; mysqli_stmt_bind_param($stmt,'s',$in_steamID); mysqli\u stmt\u bind\u result($stmt,$out\u playerID); mysqli_stmt_execute($stmt); 如果(mysqli_stmt_fetch($stmt)){ $in_playerID=$out_playerID; } } echo(“玩家ID:$in_playerID”);

是否更正在PHP中返回错误结果的SQL查询? //检查用户是否存在 $query=“从steamid=?限制1”的玩家中选择playerID”; if(mysqli_stmt_prepare($stmt,$query)){ 回声“蒸汽ID:$in_蒸汽ID…”; mysqli_stmt_bind_param($stmt,'s',$in_steamID); mysqli\u stmt\u bind\u result($stmt,$out\u playerID); mysqli_stmt_execute($stmt); 如果(mysqli_stmt_fetch($stmt)){ $in_playerID=$out_playerID; } } echo(“玩家ID:$in_playerID”);,php,sql,mysqli,Php,Sql,Mysqli,基本上,我想做的是: 解析一些日志文件中的数据并将它们存储在变量中->>这里没有问题 通过查询将此数据发送到我的数据库 问题在于我在代码标签中包含的查询,它应该执行以下操作: 检查数据库,查看当前的streamid在数据库中是否有playerID-如果它返回了playerID 问题是,查询似乎总是返回1,而不管它实际应该返回什么,即使根本没有返回任何行。我不明白为什么 我在我的PHP脚本之外运行了这个SQL语句,它工作得非常好 我多次检查变量,甚至在脚本运行时打印它们,以确保它们包含正确的值。。

基本上,我想做的是:

  • 解析一些日志文件中的数据并将它们存储在变量中->>这里没有问题
  • 通过查询将此数据发送到我的数据库
  • 问题在于我在代码标签中包含的查询,它应该执行以下操作:

  • 检查数据库,查看当前的streamid在数据库中是否有playerID-如果它返回了playerID 问题是,查询似乎总是返回1,而不管它实际应该返回什么,即使根本没有返回任何行。我不明白为什么

    我在我的PHP脚本之外运行了这个SQL语句,它工作得非常好

    我多次检查变量,甚至在脚本运行时打印它们,以确保它们包含正确的值。。。他们是!我现在该怎么办


    非常感谢您的帮助。

    当不返回行时,变量$in\u playerID永远不会被赋予值。默认情况下,$in_playerID似乎包含1。我只能假设这一定是某个随机内存地址的内容

    为了解决这个问题,我只是在查询上方声明$in_playerID


    $in\u playerID=0

    如果只有一个查询失败,请只发布它,我们不需要或不想看到与问题无关的所有代码。是否要我删除其他代码?我把它放在那里是为了上下文。我很抱歉。@Dagon如果您现在想看一看,我已经删除了不相关的代码并重新构造了我的问题。谢谢
        // check if user exists
            $query = "SELECT playerID FROM PLAYERS where steamid = ? LIMIT 1";
                if (mysqli_stmt_prepare($stmt, $query)) {
                    echo "Steamid: $in_steamID...<br />";
                    mysqli_stmt_bind_param($stmt, 's', $in_steamID);
                    mysqli_stmt_bind_result($stmt, $out_playerID);
                    mysqli_stmt_execute($stmt);
                    if (mysqli_stmt_fetch($stmt)) {
                        $in_playerID = $out_playerID;
                    }
                }
                echo ("Player ID: $in_playerID  <br />");