0

Here's the php

<?php
if (
isset($_POST['tour_name'])&&
isset($_POST['pot'])&&
isset($_POST['max_players'])&&
isset($_POST['min_players'])){

    $tour_name = $_POST['tour_name'];
    $pot = $_POST['pot'];
    $max_players = $_POST['max_players'];
    $min_players = $_POST['min_players'];

    if (!empty($tour_name)&&!empty($pot)&&!empty($max_players)&&!empty($min_players)) {
        if (($min_players >= 2) && ($min_players <= 6)) {
            if (($max_players >= 2) && ($min_players <= 12)) {
                if (($pot >= 1) && ($pot <= 100)) {

                    $query = "SELECT `tour_name` FROM `tournies` WHERE `tour_name`='$tour_name'";
                    $query_run = mysql_query($query);

                    if (mysql_num_rows($query_run)==1) {
                    echo 'There is already a tournament with the name '.$tour_name.'.';
                    } else {
                        $query = "INSERT INTO `tournies` VALUES ('', '".mysql_real_escape_string($tour_name)."', '".mysql_real_escape_string($pot)."', '".mysql_real_escape_string($max_players)."', '".mysql_real_escape_string($min_players)."')";
                        if ($query_run = mysql_query($query)) {
                            header('Location: table.php');
                        } else {
                            echo 'Registration was not a win.';
                        }
                    }

                } else {
                    echo 'The pot must be 1-100';
                }
            } else {
                echo 'Maximum players must be atleast 2 and no more then 12';
            }
        } else {
            echo 'Minimum players must be atleast 2, and no more then 6';
        }
    } else {
        echo 'All fields are required';
    }
}

?>

The error is Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Users\Jared\Desktop\xampp\htdocs\tournaments\NewTournament.inc.php on line 69

user2288508
  • 55
  • 3
  • 9

2 Answers2

1

Your query probably failed. Use mysql_error() to determine the error.

I make it a personal practice to add error checking to any query, just in case something like this happens. It can be as simple as this:

if(!$query_run){
    echo "Error in query:" . $query . "   MYSQL Error:" . mysql_error();
}

As a side note, mysql function in php has been depreciated. You might want to consider using Mysqli or PDO instead.

1

You could try:

if ($query_run !== FALSE && mysql_num_rows($query_run)==1) {

It looks like you may have an issue with your query being run, what do you get when you run the query manually via phpMyAdmin or through console ?

0mni
  • 55
  • 1
  • 8