gpt4 book ai didi

具有多个输入的 PHP 多文件上传

转载 作者:行者123 更新时间:2023-11-30 22:45:28 25 4
gpt4 key购买 nike

我是 PHP 新手。现在我的文件上传有问题。所有文件都被移动,但它没有将文件名存储到数据库中。它没有显示错误。我不知道要修这个。请帮帮我。

<form method="post" action="index.php?insert_ads" enctype="multipart/form-data">
<input type="file" name="b1" id="b1"/>

<b>Link</b></br>
<input type="text" id="b1l" name="b1l" class="form-control"/></br>

<b>Home Small</b> <b style="color: blue;">100 x 100 px</b></br>
<input type="userfile" name="b2" id="b2"/><br>

<b>Link</b></br>
<input type="text" id="b2l" name="b2l" class="form-control"/></br>

<input type="submit" name="submit" value="Publish"/>

</form></br>

<?php

if(isset($_POST['submit'])){

$b1 = $_FILES['b1']['name'];
$tmp1 = $_FILES['b1']['tmp_name'];
$b1l = $_POST['b1l'];
$b2 = $_FILES['b2']['name'];
$tmp2 = $_FILES['b2']['tmp_name'];
$b2l = $_POST['b2l'];

move_uploaded_file($tmp1,"ads/$b1");
move_uploaded_file($tmp2,"ads/$b2");

$insert_posts = "insert into ads (b1,b2) value ('$b1','$b2')";
$run_posts = mysql_query($insert_posts);
}
?>

最佳答案

尽管在使用 mysql_query 或注入(inject)攻击方面存在任何问题,但仍有许多地方可能会出错。

一个选项是查询正在执行,但您没有正确分配 $b1$b2 变量。如果行被添加到数据库中,但行为空(例如,SELECT b1, b2 FROM db.ads"返回 '',''< 的行,就会出现这种情况); 在这种情况下,您可能只是没有从 $_FILES 变量中正确提取 name 属性。您可以运行 var_dump($_FILES); 来查看有关它的更多信息并弄清楚您需要获得什么。

另一种可能性是查询没有执行。同样,这可能有几个原因——也许(不知何故)它没有达到代码中的那个点。你可以这样测试:

$insert_posts = "insert into ads (b1,b2) value ('$b1','$b2')";
echo $insert_posts; // if this shows up, you're running the next line also
$run_posts = mysql_query($insert_posts);

另一种选择是您的 error reporting级别未捕获错误。根据mysql_query,一个可能的原因是您没有连接到数据库。文档...

If no connection is found or established, an E_WARNING level error is generated.

E_WARNING 级别的错误将允许程序继续执行,除非您已将程序配置为不同的行为。

最后,您可能有一个语法错误(事实上,您似乎是这样——VALUES,而不是VALUE);根据文档,mysql_query 在出错时返回 false——它不会抛出错误。

您可以通过测试 false 并使用 mysql_error 函数来获取错误来操纵它:

$run_posts = mysql_query($insert_posts);
if ($run_posts === false) {
trigger_error("Error in SQL!\n" + mysql_error(), E_USER_ERROR);
}

关于具有多个输入的 PHP 多文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751155/

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