2014-02-11 3 views
0

Здесь я вставляю код snippet.Using этот фрагмент кода мне нужно обновить базу данных,
Если imageName & imageData недоступно, тогда воссоздайте строку db без этих значений.
Если ImageName & ImageData доступны обновит все vaules.But с помощью этого я получаю ошибку
Все поля базы данных позволяют обнуляетРазрешить file_get_contents нулевые значения

Внимание: file_get_contents(): Имя файла не может быть пустым в ..... ........ линия

$imageName = mysql_real_escape_string($_FILES["image"]["name"]); 

$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"])); 

if(empty($imageName)|| ($imageData)) //<-- Not working i think 
{ 
$sql="UPDATE `news` SET Title ='$Title', Description ='$Des',Category='$Category',ModifiedDate='$DateTime' WHERE id='$id'"; 
} 
else 
{ 
$sql="UPDATE `news` SET Title ='$Title',name='$imageName', Description ='$Des',Image='$imageData',Category='$Category',ModifiedDate='$DateTime' WHERE id='$id'"; 
} 
+1

Сообщение об ошибке не относится к полям базы данных. Жалоба на то, что '$ _FILES ['image'] ['tmp_name']' пуст. – Barmar

+0

Как этого избежать? – TechGuy

+1

Сначала проверьте значение. – Barmar

ответ

1

Вы должны изменить свой код на этот:

if(empty($_FILES["image"]["tmp_name"]) || !is_uploaded_file($_FILES["image"]["tmp_name"])) { 
$sql="UPDATE `news` SET Title ='$Title', Description ='$Des',Category='$Category',ModifiedDate='$DateTime' WHERE id='$id'"; 
} 
else 
{ 
$imageName = mysql_real_escape_string($_FILES["image"]["tmp_name"]); 
$imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"])); 
$sql="UPDATE `news` SET Title ='$Title',name='$imageName', Description ='$Des',Image='$imageData',Category='$Category',ModifiedDate='$DateTime' WHERE id='$id'"; 
} 
Смежные вопросы