Неожиданная синтаксическая ошибка T_IF

0

В настоящее время я работаю над PHP-скриптом для загрузки изображения в базу данных mysql, и я получаю синтаксическую ошибку в строке 13 моего кода, в которой указано Неожиданное T_IF. Я относительно новичок в PHP, и я изо всех сил пытаюсь понять, что вызывает его. Код выглядит следующим образом.

    <head>
        <title>File Upload To Database</title>
    </head>
    <body>
        <form action="index.php" method="POST" enctype="multipart/form-data">
            <input type="file" name="image"><Input type="submit" name="submit" value="Upload">
        </form>

        <?php>
        if(isset($_POST['submit']))
            {
                mysql_connect("localhost","appuser1","******");
                mysql_select_db("PHP_Sig_test_app");

                $imageName = mysql_real_escape_string($FILES["image"]["name"]);
                $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
                $imageType = mysql_real_escape_string($FILES["image"]["type""]);

                if(substr($imageType,0,5) == "image)
                {
                    mysql_query("INSERT INTO 'Data' Values('','$imageName','$imageData')";
                    echo "image uploaded";
                }
                else
                {
                    echo "Only Images can be Inserted"
                }    
            }
        ?>
    </body>
</html>

благодаря

  • 0
    Есть дополнительная цитата $imageType = mysql_real_escape_string($FILES["image"]["type""]);
  • 0
    Просто внимательно посмотрите, как SO выделил ваш код. Также рекомендуется использовать редактор, который выделяет синтаксис и подчеркивает ошибки (существует множество вариантов).
Показать ещё 1 комментарий
Теги:

3 ответа

2
Лучший ответ

Имейте некоторые синтаксические ошибки -

<?php //removed >

    if(isset($_POST['submit']))
        {
            mysql_connect("localhost","appuser1","weeble180276");
            mysql_select_db("PHP_Sig_test_app");

            $imageName = mysql_real_escape_string($FILES["image"]["name"]);
            $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
            $imageType = mysql_real_escape_string($FILES["image"]["type"]); //removed "

            if(substr($imageType,0,5) == "image") //added "
            {
                mysql_query("INSERT INTO 'Data' Values('','$imageName','$imageData')";
                echo "image uploaded";
            }
            else
            {
                echo "Only Images can be Inserted"; // added ;
            }
        }
    ?>
  • 0
    Хм .. есть некоторые пропавшие " & ; также.
  • 0
    Кажется, это сработало, но проблема, с которой я столкнулся сейчас, заключается в том, что раздел HTML-формы даже не отображается в браузере, есть идеи, почему?
Показать ещё 3 комментария
2

<?php> должен быть <?php

Это вызывает синтаксическую ошибку

  • 0
    Спасибо! Это сработало
2

Снимите закрывающий кронштейн в этой строке:

<?php>

Это запустит новую команду с значком > (что не имеет смысла), поэтому > if произойдет сбой, и это послужит причиной вашей ошибки.

Ваша вторая, если статут также имеет недостающую цитату.

if(substr($imageType,0,5) == "image)

должно быть

if(substr($imageType,0,5) == "image")
  • 0
    Спасибо! Это сработало
  • 0
    Кажется, это сработало, но проблема, с которой я столкнулся сейчас, заключается в том, что раздел HTML-формы даже не отображается в браузере, есть идеи, почему?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню