2012-01-03 16 views
0

以下は画像をアップロードし、そのURLを含むJSONをMySQLデータベースに作成するためのコードです。何らかの理由でPHPはエラーなしで途中で作業を停止します

<?php 
ini_set('error_reporting', E_ALL); 

//Get Libraries 
require_once($_SERVER['DOCUMENT_ROOT'].'/Scripts/mobile_device_detect.php'); 
require_once($_SERVER['DOCUMENT_ROOT'].'/Scripts/WideImage/WideImage.php'); 

$Name = $_GET['name']; 
$NumberImages = $_GET['numberImages']; 

$FirstSetNumber = 1; 
$SecondSetNumber = 2; 

$uploading = $_POST['Uploading']; 

if($uploading == "true") 
{ 
    $FirstSetNumber = $_POST['FirstSetNumber']; 
    $SecondSetNumber = $_POST['SecondSetNumber']; 

    $Name = $_POST['Name']; 
    $NumberImages = $_POST['NumberImages']; 

    echo "This is the set (".$FirstSetNumber."-".$SecondSetNumber.") for the Lighthouse (".$Name.") Which will consist of ".$NumberImages." pictures"; 

    function connectToDatabase() 
    { 
     mysql_connect("host", "user", "password"); 
     mysql_select_db("light_information") or die(mysql_error()); 
    } 
    connectToDatabase(); 

    $query = mysql_query('SELECT * FROM Lighthouses WHERE Name="'.$Name.'"') or die(mysql_error()); 

    $PageType = mysql_result($query, 0, "PageType"); 

    if($PageType = "englandtrinityhouse" || $PageType = "englandprivate" || $PageType = "scotlandnlb" || $PageType = "scotlandprivate") 
    { 
     $TypeFolder = "lighthouses"; 
    } 

    $folderLocation = "../resources/images/".$TypeFolder."/".str_replace(" ", "-", $Name)."/"; 
    if(!file_exists($folderLocation)) 
    { 
     mkdir($folderLocation, 0777); 
    } 

    function findFileExtension($filename) 
    { 
     $filename = strtolower($filename) ; 
     $exts = split("[/\\.]", $filename) ; 
     $n = count($exts)-1; 
     $exts = $exts[$n]; 
     return $exts; 
    }  


    //Thumbnail 1 
    $thumbnail1Extension = findFileExtension($_FILES['Thumbnail1']['name']); 
    $thumbnail1Name = str_replace(" ", "-", $name)."-Thumbnail-".$FirstSetNumber.".".$thumbnail1Extension; 
    $thumbnail1Location = $folderLocation.$thumbnail1Name; 
    $URLThumbnail1 = str_replace("../", "http://www.worldwidelighthouses.com/", $thumbnail1Location); 

    if(!move_uploaded_file($_FILES['Thumbnail1']['tmp_name'], $thumbnail1Location)) 
    { 
     echo("Canny Move Thumbnail ".$FirstSetNumber); 
    } 

    //Thumbnail 2 
    $thumbnail2Extension = findFileExtension($_FILES['Thumbnail2']['name']); 
    $thumbnail2Name = str_replace(" ", "-", $name)."-Thumbnail-".$SecondSetNumber.".".$thumbnail2Extension; 
    $thumbnail2Location = $folderLocation.$thumbnail2Name; 
    $URLThumbnail2 = str_replace("../", "http://www.worldwidelighthouses.com/", $thumbnail2Location); 

    if(!move_uploaded_file($_FILES['Thumbnail2']['tmp_name'], $thumbnail2Location)) 
    { 
     echo("Canny Move Thumbnail ".$SecondSetNumber); 
    } 

    //Large Image 1 
    $LargeImage1Extension = findFileExtension($_FILES['LargeImage1']['name']); 
    $LargeImage1Name = str_replace(" ", "-", $name)."-LargeImage-".$FirstSetNumber.".".$LargeImage1Extension; 
    $LargeImage1Location = $folderLocation.$LargeImage1Name; 
    $URLLargeImage1 = str_replace("../", "http://www.worldwidelighthouses.com/", $LargeImage1Location); 

    if(!move_uploaded_file($_FILES['LargeImage1']['tmp_name'], $LargeImage1Location)) 
    { 
     echo("Canny Move Large ".$FirstSetNumber); 
    } 

    //Large Image 2 
    $LargeImage2Extension = findFileExtension($_FILES['LargeImage2']['name']); 
    $LargeImage2Name = str_replace(" ", "-", $name)."-LargeImage-".$SecondSetNumber.".".$LargeImage2Extension; 
    $LargeImage2Location = $folderLocation.$LargeImage2Name; 
    $URLLargeImage2 = str_replace("../", "http://www.worldwidelighthouses.com/", $LargeImage2Location); 

    if(!move_uploaded_file($_FILES['LargeImage2']['tmp_name'], $LargeImage2Location)) 
    { 
     echo("Canny Move Large ".$SecondSetNumber); 
    } 

    $FirstSetNumber = $FirstSetNumber + 2; 
    $SecondSetNumber = $SecondSetNumber + 2; 

    $ThumbnailImagesJSONfromDB = mysql_result($query, 0, "SmallImages") or die(mysql_error()); 
    $LargeImagesJSONfromDB = mysql_result($query, 0, "LargeImages") or die(mysql_error()); 

    echo "Dis Far"; 
    echo $ThumbnailImagesJSONfromDB; 

    // HTML to display data 

?> 

$ThumbnailImagesJSONfromDB = mysql_result($query, 0, "SmallImages") or die(mysql_error()); 
    $LargeImagesJSONfromDB = mysql_result($query, 0, "LargeImages") or die(mysql_error()); 

    echo "Dis Far"; 
    echo $ThumbnailImagesJSONfromDB;` 
以降

作品からのコードはありません。したがって、私は自分のデータベースを更新したり、すでにデータベース上にあるものをチェックすることさえできません。何がこの問題を引き起こしている可能性がありますか? :)。エコーの仕事のどちらも明らかにしない。

+0

PHPがタイムアウトしている可能性があります。スクリプトの最初に、set_time_limit(0)を追加してみてください。 –

+1

トピックをオフにする - おそらくあなたのスクリプトからあなたのmysqlログインの詳細を隠したいですか? – Elen

+1

確認するには 'display_errors'がセットされていますか? – JohnP

答えて

2

mysql_resultは、渡されたフィールドが指定された行に存在しない場合はfalseを返します。 'SmallImages'または 'LargeImages'は行0に存在せず、実際のSQLエラーがないため、die()は空のメッセージを出力します。探しているキーが実際にクエリ結果に存在することを確認する必要があります。


問題が解決したら、別のデータベースAPIを選択するようにアドバイスしてください。 new PHP docs about choosing the right MySQL APIを読んでください。あなたが使用している古い拡張機能は古くなっており、プリペアドステートメントやOOPをサポートしておらず、一般的に新しいプロジェクトには適していないと考えられています。

関連する問題