尝试从 php FORM 上传到 MYSQL 数据库时出错

Posted

技术标签:

【中文标题】尝试从 php FORM 上传到 MYSQL 数据库时出错【英文标题】:Error when trying to upload from php FORM into MYSQL database 【发布时间】:2015-05-09 00:31:04 【问题描述】:

我正在处理网页,我需要将我的 mysql dtatabse 与 php 连接,我设法做到了,但我被困在将数据从网页上传到数据库中,我收到错误

注意:未定义的索引:Naziv in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 15 行

注意:未定义索引:Naslov in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 16 行

注意:未定义索引:Vrsta_lesa in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 17 行

注意:未定义索引:Kontakt in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 18 行

注意:未定义索引:Ocena in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 19 行

我的代码: (admin.html) 表格:

  <form action="Skripte/upload.php" method="post" enctype="multipart/form-data">
       Naziv: <input type="text" name="Naziv">::
       Naslov <input type="text" name="Naslov">:: <br>
       Vrsta Lesa: <input type="text" name="Vrsta_lesa">::
       Kontakt <input type="text" name="Kontakt">::
       Ocena <input type="text" name="Ocena"> <br>

        <input type="submit" value="OK">
  </form>

PHP 代码(上传.php)

<?php



     $dbLink = new mysqli('localhost', 'root', '', 'hlodinfo');
        if(mysqli_connect_errno()) 
            die("MySQL connection failed: ". mysqli_connect_error());



        // Gather all required data
        $naziv = $dbLink->real_escape_string($_FILES['Naziv']['text']);
        $naslov = $dbLink->real_escape_string($_FILES['Naslov']['text']);
        $vrsta_lesa = $dbLink->real_escape_string($_FILES['Vrsta_lesa']['text']);
        $kontakt = $dbLink->real_escape_string($_FILES['Kontakt']['text']);
        $ocena = $dbLink->real_escape_string($_FILES['Ocena']['text']);


         // Create the SQL query
         $query = "INSERT INTO `odkupnik` ( `Naziv`, `Naslov`, `Vrsta_lesa`, `Kontakt`, `Ocena` )


                   VALUES ('$naziv', '$naslov', $vrsta_lesa, '$kontakt','$ocena')";


         $result = $dbLink->query($query);


         // Close the mysql connection
           $dbLink->close();


?>

我仍在学习 PHP 和 javascript,而且我是初学者。感谢您的帮助,谢谢。

【问题讨论】:

您正在使用输入文本属性上传文件。使用 file 属性 那些不是错误,而是通知 PHP: "Notice: Undefined variable" and "Notice: Undefined index" 的可能重复项 【参考方案1】:

编辑

你到处都在使用$_FILES...应该是$_POST

        $naziv = $dbLink->real_escape_string($_POST['Naziv']);
        $naslov = $dbLink->real_escape_string($_POST['Naslov']);
        $vrsta_lesa = $dbLink->real_escape_string($_POST['Vrsta_lesa']);
        $kontakt = $dbLink->real_escape_string($_POST['Kontakt']);
        $ocena = $dbLink->real_escape_string($_POST['Ocena']);

如果条件,请将您的mysql insert code 放在下面

if(isset($_POST['Naziv']) && $_POST['Naziv']!='')

  //put your whole database code here...

【讨论】:

OP 在他们的表单中使用 enctype 属性,所以很明显他想上传文件。【参考方案2】:

您必须进行如下更改,因为您的表单 http 方法是 POST

    // Gather all required data
    $naziv = $dbLink->real_escape_string($_POST['Naziv']);
    $naslov = $dbLink->real_escape_string($_POST['Naslov']);
    $vrsta_lesa = $dbLink->real_escape_string($_POST['Vrsta_lesa']);
    $kontakt = $dbLink->real_escape_string($_POST['Kontakt']);
    $ocena = $dbLink->real_escape_string($_POST['Ocena']);

【讨论】:

以上是关于尝试从 php FORM 上传到 MYSQL 数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何将日期从excel上传到mysql? (使用 php)

从mdb文件导入数据到mysql数据库无法上传数据

避免上传文件时出错的最佳方法

AFNetworking 2.0 多部分/表单数据上传到 mySQL

PHP- 从数据库 Mysql 中检索视频

如何从 android 设备上传以编程方式创建的 excel 文件到 PHP 服务器或 MYSQL 数据库