尝试从 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 数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章