@Profgramer23

Что делать, если не получается занести ссылку на картинку в бд?

Ошибка явно из-за этой строчки:
$q = "INSERT INTO users (avatar) VALUES ('$foto_name') WHERE name = '$name_users' ";
Так как если убрать
WHERE name = '$name_users'
То оно будет заносится. Но мне нужно, чтобы оно заносилось именно в то поле, где получен
$name_users

Помогите пожалуйста реализовать, не могу вывести данные из бд, чтобы получить как раз таки имя пользователя. Буду очень Вам благодарен!

<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/conf.php');
$dbconnect = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB_NAME);
$dbconnect -> query ("set_client='utf8'");
$dbconnect -> query ("set character_set_results='utf8'");
$dbconnect -> query ("set collation_connection='utf8_general_ci'");
$dbconnect -> query ("SET NAMES utf8");

if (isset($_POST['img']))

// Если поле выбора картинки не пустое - закачиваем её на сервер
$maxwidth = "600"; // максимальная ширина картинок на превью
$foto_dir = "images/"; // Директория для фотографий товаров
$foto_name = $fotos_dir.time()."_".basename
($_FILES['myfile']['name']); // Полное имя файла вместе с путем
$foto_light_name = time()."_".basename
($_FILES['myfile']['name']); 
// Имя файла исключая путь
$foto_tag = "<img src=\"$foto_name\" 
border=\"0\">"; // Готовый тэг для вставки картинки на страницу
$foto_tag_preview = "<img src=\"$foto_name\" 
border=\"0\" width=\"$maxwidth\">"; 
// Тот же тэг, но для превью

// Текст ошибок
$error_by_mysql = "<label class=\"label\">Ошибка при добавлении данных в базу</span>";
$error_by_file = "<label class=\"label\">Невозможно загрузить файл в директорию. Возможно её не существует</span>";

// Начало
if(isset($_FILES["myfile"]))
{
$myfile = $_FILES["myfile"]["tmp_name"];
$myfile_name = $_FILES["myfile"]["name"];
$myfile_size = $_FILES["myfile"]["size"];
$myfile_type = $_FILES["myfile"]["type"];
$error_flag = $_FILES["myfile"]["error"];

// Если ошибок не было
if($error_flag == 0)
{
$DOCUMENT_ROOT = $_SERVER['DOCMENT_ROOT'];
$upfile = getcwd()."/images/" . time()."_".basename
($_FILES["myfile"]["name"]);
if ($_FILES['myfile']['tmp_name'])
{

//Если не удалось загрузить файл

if (!move_uploaded_file($_FILES['myfile']
['tmp_name'], $upfile))
{
echo "$error_by_file";
exit;
}

}
else
{
echo 'Проблема: возможна атака через загрузку файла. ';
echo $_FILES['myfile']['name'];
exit;
}

$q = "INSERT INTO users (avatar) VALUES ('$foto_name') WHERE name = '$name_users' ";
$recent = mysqli_query($dbconnect, $q);


// Данные успешно внесены в базу данных, выводим сообщение
if ($recent == 'true') {
echo "
<div class='text'>
<p>Картинка успешно добавлена на сервер!</p>
<br><br>
<table>
<tr>
<td>
<a href='add_images_form.php' 
class='add_images'><div class='add_images_text'>
ДОБАВИТЬ ЕЩЕ КАРТИНКУ</div></a>
</td>
<td>
<a href='index.php' class='add_images'>
<div class='add_images_text'>НА ГЛАВНУЮ</div></a>
</td>
</tr>
</table>
</div>
";
}

// В противном случае, выводим ошибку при добавлении в базу данных
else {
echo "$error_by_mysql";
}
}
elseif ($myfile_size == 0) {
echo "<br><label class='label'>Картинка не выбрана!<br><br>Вернитесь и выберите картинку!</label><br><br>
<a href='add_images_form.php' class='add_images'>
<div class='add_images_text'>ВЫБРАТЬ КАРТИНКУ</div>
</a>";
}
}
?>
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 1
egor_nullptr
@egor_nullptr
INSERT ... WHERE как вы это придумали? Синтаксис команды INSERT не предусматривает никакого WHERE https://dev.mysql.com/doc/refman/5.7/en/insert.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы