gpt4 book ai didi

php - IMG 目录不能存储在数据库中,但可以从查询中使用的相同变量查看

转载 作者:IT老高 更新时间:2023-10-28 23:58:07 27 4
gpt4 key购买 nike

我正在尝试使用 Sanwebe 的以下表单将图像上传到我的服务器。 Can be found here .但是,当我按下上传时,新拇指加载得非常好。但是,无法使用与查看图像完全相同的变量将我的图像上传到数据库。怎么来的?我尝试将 db 信息放在查询的前面。像这样:

echo '<div align="center">';
echo '<img src="images/profile-pictures/'.$thumb_prefix . $new_file_name.'" alt="Thumbnail">';
echo '</div>';

$profile_pic_temp = "../images/profile-pictures/" . $thumb_prefix . $new_file_name;
$profile_pic_full_temp = "../images/profile-pictures/" . $new_file_name;
$session_user = $_SESSION['user_confirm'];

require 'database.php';

$profile_pic_db_upload = $db->prepare("UPDATE login SET profile_picture_temp = :profile_pic_temp, profile_picture_full_temp = :profile_pic_full_temp WHERE user_session = :session_user");
$profile_pic_db_upload->bindParam(':session_user', $session_user, PDO::PARAM_STR);
$profile_pic_db_upload->bindParam(':profile_pic_temp', $profile_picture_temp, PDO::PARAM_STR);
$profile_pic_db_upload->bindParam(':profile_pic_full_temp', $profile_picture_full_temp, PDO::PARAM_STR);
$profile_pic_db_upload->execute();
$confirm_upload_db = $profile_pic_db_upload->rowCount();

if($confirm_upload_db != 0){
$popup_message = "Profile picture has been uploaded.";
echo $popup_message;
}
else{
$popup_message = "Profile picture could not be uploaded.";
echo $popup_message;
}

编辑二:查询现在运行,但是,我收到反馈“无法上传个人资料图片。”。查询怎么运行不正常?

编辑四:我尝试将 user_session = :session_user 改为 id = 1 。然后我成功上传,但是,该值仅插入 profile_picture_temp 并设置为 0。 bindParam 以某种方式更改了该值。为什么?

编辑三:我现在也尝试过使用 mysqli 。这里的结果相同。无法上传返回。但是,不会改变 DB 中的值。

$sql = "UPDATE login SET profile_picture_temp = ? AND profile_picture_full_temp = ? WHERE user_session = ?";
$stmt = $mysqli->prepare($sql) or die ("Database error<br>" . $sql . "<br><b>Error message:</b> " . $mysqli->error);
$stmt->bind_param("sss", $profile_picture_temp, $profile_picture_full_temp, $session_user);
$stmt->execute() or die("Something went wrong");
if($stmt->fetch()){
$popup_message = "Profile picture has been uploaded.";
echo $popup_message;
}
else{
$popup_message = "Profile picture could not be uploaded.";
echo $popup_message;
}
$stmt->free_result();
$stmt->close();

最佳答案

你确定这一行没有抛出 PHP 错误吗...

$confirm_upload_db = $$profile_pic_db_upload->rowCount();
^^

$$(两个美元符号)是我们引用变量的方式;但是 $profile_pic_db_upload 不包含另一个变量的名称,它是对 PDO 语句对象的引用。

另一个注意事项。 rowCount() 函数返回受UPDATE 语句影响的行数;如果 UPDATE 语句成功,但没有对行进行实际更改(因为分配给列的值与列中已存储的值相同),则 rowCount() 将返回 0。

(要改变该行为,让它返回匹配行的数量,您可以使用 PDO::MYSQL_ATTR_FOUND_ROWS)。

关于php - IMG 目录不能存储在数据库中,但可以从查询中使用的相同变量查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539060/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com