Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > supplied argument is not a valid MySQL result


Автор: abcshell 4.3.2010, 15:38
Здравствуйте, установил я себе Open Source web-based chess server. Создал базу, таблицы. Добавил юзера, и все бы шло гладко - пока не появились злые ошибки. При добавлении игрока в игру - появляется ошибка 
Код

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/mysite.ru/data/www/mysite.ru/webchess/mainmenu.php on line 205


Осмотрев этот код, я не нашел ошибки! Помогите.
Код

    case 'Logout':
            $_SESSION['playerID'] = -1;
            die("You have succesfully logged out. Click <a href='index.php'>here</a> to log back in.");
            break;

        case 'InvitePlayer':
            /* prevent multiple pending requests between two players with the same originator */
            $tmpQuery = "SELECT gameID FROM games WHERE gameMessage = 'playerInvited'";
            $tmpQuery .= " AND ((messageFrom = 'white' AND whitePlayer = ".$_SESSION['playerID']." AND blackPlayer = ".$_POST['opponent'].")";
            $tmpQuery .= " OR (messageFrom = 'black' AND whitePlayer = ".$_POST['opponent']." AND blackPlayer = ".$_SESSION['playerID']."))";
            $tmpExistingRequests = mysql_query($tmpQuery);
            
---205-строка---            if (mysql_num_rows($tmpExistingRequests) == 0)
            {
                if (!minimum_version("4.2.0"))
                    init_srand();
            
                if ($_POST['color'] == 'random')
                    $tmpColor = (mt_rand(0,1) == 1) ? "white" : "black";
                else
                    $tmpColor = $_POST['color'];

                $tmpQuery = "INSERT INTO games (whitePlayer, blackPlayer, gameMessage, messageFrom, dateCreated, lastMove) VALUES (";
                if ($tmpColor == 'white')
                    $tmpQuery .= $_SESSION['playerID'].", ".$_POST['opponent'];
                else
                    $tmpQuery .= $_POST['opponent'].", ".$_SESSION['playerID'];
            
                $tmpQuery .= ", 'playerInvited', '".$tmpColor."', NOW(), NOW())";
                mysql_query($tmpQuery);


В чем может быть проблема? smile 

Автор: IZ@TOP 4.3.2010, 15:51
После строчки
Код

$tmpExistingRequests = mysql_query($tmpQuery);

Выводим 
Код

echo mysql_error();

Смотрим, много думаем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)