Обновление phpmysql установлено при загрузке изображения - PullRequest
0 голосов
/ 29 сентября 2011

Я действительно изо всех сил пытаюсь добиться чего-то очень простого.

По сути, у меня есть таблица изображений под названием "galleryimages" и место на сервере, где хранятся изображения. Я пытаюсь переписать исходное поле для данной категории в таблице, пока идет загрузка.

Мой код добавит новое изображение на сервер, но по какой-то причине не обновит таблицу mysql (однако я могу добавить в нее новые строки, хотя я хочу сохранить существующие данные в таблице и просто изменить «фотографию»). поле, в котором находится изображение).

Мой php:

<?php include 'dbc.php'; page_protect();

if(!checkAdmin()) {header("Location: login.php");
exit();
}

$host  = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$login_path = @ereg_replace('admin','',dirname($_SERVER['PHP_SELF']));
$path   = rtrim($login_path, '/\\');

foreach($_GET as $key => $value) {
    $get[$key] = filter($value);
}

foreach($_POST as $key => $value) {
    $post[$key] = filter($value);
}   
?>


<?php 
if($_FILES['photo']) 
{
    $target = "galleries/test/"; 
    $target = $target . basename( $_FILES['photo']['name']); 

   $title = mysql_real_escape_string($_POST['title']); 
    $pic = "galleries/test/" .(mysql_real_escape_string($_FILES['photo']['name']));
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{
    mysql_query("update `galleryimages` set (`title`, `photo`) VALUES ('$title', '$pic')") ;     

    echo "Success"; 
} 
else 
{ 
    echo "Failure"; 

}
} 
?> 

И HTML это:

    <form enctype="multipart/form-data" action="addgallery1.php" method="POST">
      <table width="100%" border="2" cellpadding="5"class="myaccount">
         <tr>
           <td>Category: </td>
           <td><select name="title" id="select8">
              <option value="Landscape Pots">Landscape Pots</option>

                  </select></td>
        </tr>
       <tr>
           <td>Image: </td>
           <td><input type="file" name="photo" /></td>
        </tr>
         <tr>
           <td colspan="2"><input type="submit" class="CMSbutton" value="Add" /></td>
         </tr>
      </table>
    </form>

    </body>
    </html>

Теперь я уверен, что проблема существует в строке:

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{
    mysql_query("update `galleryimages` set (`title`, `photo`) VALUES ('$title', '$pic')") ;     
    echo "Success"; 
} 

но нужна некоторая помощь, чтобы определить, так ли это на самом деле - и если да, то как я могу заставить его обновить таблицу mysql - в тот момент, когда php отображает «Успех», но не вносит никаких изменений в столбец «photo» в MySQL.

Надеюсь, это имеет смысл, и один из вас, гений кодирования, может помочь мне решить эту проблему - мне потребовались часы проб и ошибок, но я все еще не могу заставить его работать !!!

спасибо заранее всем и вся помощь

JD

Ответы [ 2 ]

0 голосов
/ 29 сентября 2011

Ваш запрос MySQL неверен:

update `galleryimages` set `title`='$title', `photo`='$pic'

Но имейте в виду: это обновит ВСЕ строки в этой таблице! Вы должны добавить предложение WHERE для обновления одной конкретной строки.

0 голосов
/ 29 сентября 2011

что-то здесь не так

 mysql_query("update `galleryimages` set (`title`, `photo`) VALUES ('$title', '$pic')") ;

должно быть как

mysql_query("update `galleryimages` set `title`='$title', `photo`= '$pic'") ;

подробнее здесь: http://dev.mysql.com/doc/refman/5.0/en/update.html

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