Victor
Victor

Reputation: 99

PHP query inserts 2 rows into the table

OK, here is the deal. I have 3 queries putting data in different tables. 2 of them are in included files. I've tried to put them into the main code, the result was the same. The first two queries inserts one row with the data and a blank row. The third works fine. Here is the code.

This in the main page:

<? $p=0;
    if ($select2)
    {
        $event=$select2;
    }
    else
    {
        require_once("insert_gal_name.php5");
    }

    if ($select)
    {
        $folder=$select;
    }
    else
    {
        require_once("insert_folder.php5");
        if (file_exists("Connections/".$folder))
        {
        }
        else
        {
             mkdir("Connections/$folder",0777);
        }
    }

    while($p<$number)
    {
        $p++;

        $dir = 'Connections/'.$folder.'/'; // Директорията в която ще се записват файловете
        copy($_FILES['file']['tmp_name'][$p],"$dir".$_FILES['file']['name'][$p]); //Копиране на файла
        echo "Файлът бе качен успешно!<br>"; // Извеждане на съобщение показващо, че файла е качен
        if($_FILES['file']['name'][$p])
        {
            $real_file_name = $dif_of_files.$_FILES['file']['name'][$p];
            $nom_file = str_replace(" ", "", $real_file_name); }

            $query = "INSERT INTO gallery (name, title, day, month, year) VALUES ('$nom_file', '$event', '$day', '$month', '$year')";
            $result = mysql_query($query) or die(mysql_error());
        }
        if (!$result)
        {
            echo "Error";
        }
        else
        {
            echo "All data was uploaded successfuly.";
        }
?>

And here are the includes in the order they are placed in the source

<?  $query = "INSERT INTO gallery_names (name) VALUES ('$event')";
    $result = mysql_query($query) or die(mysql_error());
    if (!$result)
    {
        echo "Error";
    }
    else
    {
        echo "The gallery was created successfuly.";
    }
?>

<? $query = "INSERT INTO folders (name) VALUES ('$folder')";
    $result = mysql_query($query) or die(mysql_error());
    if (!$result)
    {
        echo "Error";
    }
    else
    {
        echo "The folder was created successfuly.";
    }
?>

Upvotes: 1

Views: 1015

Answers (2)

Pradeep Singh
Pradeep Singh

Reputation: 3634

<?
    if($event!='')
    {
        $query1 = "INSERT INTO gallery_names (name) VALUES ('$event')";
        $result1 = mysql_query($query1) or die(mysql_error());
        if (!$result1)
        {
            echo "Error";
        }
        else
        {
            echo "The gallery was created successfuly.";
        }
    }
?>

Upvotes: 2

Jim
Jim

Reputation: 22646

If $select2 is false then this code will do two inserts. If $event is empty one of these will be an empty row which sounds like the problem you're having.
What are the values of $select2 and $event? Have you tried debugging them?

Upvotes: 1

Related Questions