2012-01-03 3 views
0

Ниже приведен код, который используется для загрузки изображений, а затем создайте некоторые JSON, содержащие их URL-адреса, в базу данных 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;` 

Onwards работает. Поэтому я не могу обновить свою базу данных или даже проверить, что уже есть в базе данных. Любые идеи, что может вызвать эту проблему? :). Просто чтобы прояснить ни одну из работ Echos.

+0

PHP может быть тайм-аут на вас. В начале вашего скрипта попробуйте добавить set_time_limit (0); –

+1

Off topic - возможно, вы хотите скрыть свои данные для входа в 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. Предыдущее расширение, которое вы используете, устарело, не поддерживает подготовленные заявления или ООП и обычно считается непригодным для новых проектов.

Смежные вопросы