gpt4 book ai didi

php - 数据未发送到数据库

转载 作者:行者123 更新时间:2023-11-29 01:20:49 25 4
gpt4 key购买 nike

我正在制作一个图像上传功能,它将文件名存储在数据库中,并将照片存储在名为 uploaded 的文件夹中。这些照片正在移至 uploaded 文件夹,但由于某种原因,我无法将文件名保存在数据库中。

  • 我还确保已连接到数据库并正确引用了所有列。我没有收到任何错误,数据只是没有存储在数据库中。

    if(isset($_POST['pp_submit'])){
    session_start();
    $file = $_FILES['pp_file']['name'];
    $ppf_type = $_FILES['pp_file']['type'];
    $ppf_size = $_FILES['pp_file']['size'];
    $ppf_tmpname = $_FILES['pp_file']['tmp_name'];
    $ppf_err = $_FILES['pp_file']['error'];
    $var = $_SESSION['id'];

    if($ppf_err > 0){ header('Location: ../profile.php');}

    move_uploaded_file($ppf_tmpname,"../uploaded/".$file);
    mysql_query("INSERT INTO users (profile) VALUES ('$file') WHERE id = '$var'");


    if(mysql_affected_rows()>0){
    echo "Item added successfully.<br/>";}
    else
    { echo "Item addition failed.<br/>"; }
    header("Location: ../profile.php?id=$var");
    }

我的问题是:为什么文件名没有通过数据库传递?

  • 我也很好奇为什么 move_uploaded_file() 有效,但它下面的查询却无效。

最佳答案

那应该是更新查询而不是插入查询:

mysql_query("UPDATE users SET profile = '$file' WHERE id = '$var'");

另请注意:

  • 您使用的是已弃用的 API。考虑切换到 mysqli_* 函数或使用 PDO。
  • 您对 SQL 注入(inject)攻击持开放态度。考虑使用准备好的语句。

关于php - 数据未发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32136102/

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