Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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中执行多个查询时出错_Php_Mysql - Fatal编程技术网

在php中执行多个查询时出错

在php中执行多个查询时出错,php,mysql,Php,Mysql,嗨,我在php文件中做一些查询 <?php include_once('Query.Class.php'); @session_start(); $idPlayer = $_SESSION['ID_PLAYER']; $obj = new Query(); $playerData = $obj->getPlayerData($idPlayer); ?> <?php echo "<a hre

嗨,我在php文件中做一些查询

    <?php 
    include_once('Query.Class.php');
    @session_start();
    $idPlayer = $_SESSION['ID_PLAYER'];
    $obj = new Query();
    $playerData = $obj->getPlayerData($idPlayer);

    ?>
<?php 
        echo "<a href=profile.php?id=".$playerData['ID_PLAYER'].">".$playerData['USERNAME']."</a>";?></h1>
<?php 
        $playerMoney = $obj->getPlayerMoney($idPlayer);
        for($i = 1; $i <= count($playerMoney); $i++){
        echo"
            <tr>
              <td width='20' align='left'>".$playerMoney[$i]['CURENCY_NAME']."</td>
              <td width='10'>:</td>
              <td width='70' align='left'>".$playerMoney[$i]['CURENCY_AMMOUNT']."</td>
            </tr>";
        }
          ?>
<?php
        $playerInventory = $obj->getPlayerInventory($idPlayer);
        for($i = 1; $i <= count($playerInventory); $i++){
        echo"
            <tr>
              <td width='20' align='left'>".$playerInventory[$i]['ITEMS_NAME']."</td>
              <td width='10'>:</td>
              <td width='70' align='left'>".$playerInventory[$i]['QUANTITY']."</td>
            </tr>";
        }

有什么帮助吗?

您的money sql查询返回FALSE,因此最好在运行
mysql\u fetch\u array
之前执行此操作,这样您就知道没有任何结果:

if($result === FALSE) {
    die(mysql_error());
}
比如:


正如@Sudhir所说,您的查询返回FALSE。最常见的错误处理如下所示:

$result = mysql_query($str) or die(mysql_error());

我建议你询问一下。如果它是正确的,那么检查$this->executeQuery($str)是否返回一些东西。嗯,问题是当我直接在sqlyog上通过查询进行尝试时,它工作得很好,或者当我删除播放器部分时,可以看到inventory部分,但是当我尝试查询这两个部分时,出现了错误,在一个页面中可以调用多少mysql\u查询有限制吗?是-http请求超时;)。更严重的是,我不知道,但我相信这不是问题所在。你有任何sql错误吗?嗯,问题是当我直接在SQLYG上按查询时,它工作得很好,或者当我删除播放器部分时,可以看到库存部分,但是当我尝试查询这两个部分时,都有错误,你可以在1中调用多少mysql\U查询有任何限制吗page@UmarHasan您是否尝试检查mysql_error();如果您看到与查询相关的任何错误。mysql_查询没有这样的限制,每页只能使用一次,您可以根据需要多次使用它。。!
if($result === FALSE) {
    die(mysql_error());
}
public function getPlayerMoney($idPlayer){
 $str="CALL sp_getPlayerMoney($idPlayer)";
 $i =1;
 $result_array = array();
 $result = $this->executeQuery($str);
 if($result === FALSE) {
   die(mysql_error());
   //OR return empty array
   return array(); //empty array
 }        
 while($row = mysql_fetch_array($result)){
 ...
$result = mysql_query($str) or die(mysql_error());