PHP перестает работать на полпути без ошибок - PullRequest
0 голосов
/ 03 января 2012

Ниже приведен мой код, который используется для загрузки изображений, а затем для создания некоторого JSON, содержащего их URL, в базу данных MySQL.

<?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;`

Вперед Работает. Поэтому я не могу обновить свою базу данных или даже проверить, что уже есть в базе данных. Есть идеи, что может быть причиной этой проблемы? :). Просто чтобы уточнить ни один из работ Эхо.

1 Ответ

2 голосов
/ 03 января 2012

Проще говоря, mysql_result возвращает false, если переданное поле не существует для данной строки. «SmallImages» или «LargeImages» не существует в строке 0, и, поскольку фактических ошибок SQL не было, ваш die() выводит пустое сообщение. Вы должны убедиться, что ключи, которые вы ищете, действительно существуют в результатах вашего запроса.


Теперь, когда вопрос удовлетворен, я должен посоветовать вам выбрать другой API базы данных. Прочтите новые документы PHP о выборе правильного MySQL API . Старое расширение, которое вы используете, устарело, не поддерживает подготовленные операторы или ООП и, как правило, считается непригодным для новых проектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...