2010-12-30 14 views
1

OK、こちらがお取引です。私は異なるテーブルにデータを置く3つのクエリを持っています。それらのうち2つはインクルードファイルに含まれています。私はそれらをメインコードに入れようとしましたが、結果は同じでした。最初の2つのクエリは、データと空行を含む1つの行を挿入します。 3番目は正常に動作します。ここにコードがあります。メインページで PHPクエリが2行をテーブルに挿入します

この

<? $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."; 
     } 
?> 

そして、ここでは、それらがソースに配置されている順に、ある

<? $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."; 
    } 
?> 
+0

正確にどのクエリが複数回追加されていますか? – Citizen

+0

if($ select)の代わりに、if(isset($ select))やif($ select === true)のようなものを使用してください。はるかに正確で読み取り/デバッグが容易です。 – Citizen

+0

上記のコードに示されている最後の2つの市民。 – Victor

答えて

2
<? 
    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."; 
     } 
    } 
?> 
+0

最初のクエリは次のようにする必要があります: '$ query =" INSERT INTO gallery(name、title、day、month、year)VALUES( '"。$ nom_file。"'、 '"。$ event。"'、 '"。 – RageD

+0

はい、私はすでに修正済みです –

+0

データが正しく挿入されているため、これが問題になるかどうかわかりません。空行を削除します。私は(isset($ select))と私のページが含まれていませんがまだ空白の行だけが挿入されている場合はputedを投稿しました – Victor

1

$ SELECT2が、このコードは意志falseの場合2つのインサートを行います。 $ eventが空の場合、これらのうちの1つは空の行になり、問題のように聞こえます。
$ select2と$ eventの値は何ですか?あなたはそれらをデバッグしようとしましたか?

+0

$ select2はリストメニューフォームgeneretedであるmysql表。既存のgllareyを選択するか、新しいものを書き留めるというアイデア。これは$ evenet var – Victor

+0

$ select2に値があるときだけ$イベントがセットされますか?そうであれば、insert_gal_name.php5には何も挿入されないので、これは空の行を引き起こします。 – Jim

+0

いいえ、$ eventはフォーム内のフィールドです。前のイベントである$ selectがある場合、$ eventの値を$ elseとすると、フィールド内の値が挿入されます – Victor

関連する問題