Привет, как проверить, загрузил ли пользователь изображение профиля или нет... Я пробовал этот код, но отображает только изображение по умолчанию, а не другую часть.. пожалуйста, помогите... это мой код
$check_pic = mysqli_query($conn,"SELECT image FROM users WHERE id='$id'");
$get_pic_row = mysqli_fetch_assoc($check_pic);
$profile_pic_db = $get_pic_row['image'];
$pro_num = mysqli_num_rows($profile_pic_db);
if ($pro_num == 0) {
$profile_pic = "http://localhost/Ramdhenu/images/default_propic.png";
} else {
$profile_pic = "http://localhost/Ramdhenu/userdata/Author_images/".$profile_pic_db ;
}






Вам нужно проверять значение столбца, а не возвращать какие-либо строки. Вместо этого вы также должны использовать подготовленный оператор.
$stmt = $conn->prepare("SELECT image FROM users WHERE id=?");
$stmt->bind_param("s", $id);
$stmt->execute();
$stmt->bind_result($image);
if ($stmt->fetch()) {
if (empty($image)) {
$profile_pic = "/Ramdhenu/images/default_propic.png";
} else {
$profile_pic = "/Ramdhenu/userdata/Author_images/".$image;
}
} else {
// No user by that ID
}
$stmt->close();
Вы всегда будете получать $pro_num !=0, вам нужно будет проверить значение по умолчанию, если вы используете столбец изображения, скажем, значение по умолчанию равно NULL,
$check_pic = mysqli_query($conn,"SELECT image FROM users WHERE id='$id'");
$get_pic_row = mysqli_fetch_assoc($check_pic);
$profile_pic_db = $get_pic_row['image'];
$pro_num = mysqli_num_rows($profile_pic_db);
if ($pro_num == 1){
if ($profile_pic_db == null) {
$profile_pic = "http://localhost/Ramdhenu/images/default_propic.png";
} else {
$profile_pic = "http://localhost/Ramdhenu/userdata/Author_images/".$profile_pic_db ;
}
}else{
//user not found
}