我正在尝试使用phpmyadmin将blob数据类型上传到mysql数据库中。我使用WAMP作为本地服务器,但问题是此错误...
Warning: mysqli_query(): MySQL server has gone away in C:\
这:
Warning: mysqli_query(): Error reading result set's header in C:\
确切的问题是,当我填写所有必填字段,然后单击“提交”时,它不会将数据插入数据库并给出那些错误。
HTML代码被命名为index5.html
,而phpcode被命名为upload.php
。我在phpmyadmin localhost中创建了一个名为upload
的数据库和一个名为uploadfile
的表...
我们非常感谢您提供的任何帮助,
HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtmll-
transitional.dtd">
<html xmins="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>RIP</title>
</head>
<body>
<h1> Upload Form </h1>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<input type="text" name="uname" id="uname"
placeholder="Username" /><br /><br />
<input type="email" name="email" id="email"
placeholder="email" /><br /><br />
<input type="file" name="image" id="image" /><br /><br />
<input type="submit" name="submit" value="submit"
id="submit" />
</form>
</body>
</html>
Php代码
<?php
$con=mysqli_connect("localhost","root","","upload") or
die("database not connected ");
if(isset($_POST['submit']))
{
if((empty($_POST['uname'])) || (empty ($_POST['email'])))
{
?>
<script> window.alert("Enter name & email please ..
");</script>
<?php
}
else
{
$uname=$_POST['uname'];
$email=$_POST['email'];
$image=addslashes($_FILES['image']['tmp_name']);
$imagename=addslashes($_FILES['image']['name']);
$image=file_get_contents($image);
$image=base64_encode($image);
$query=mysqli_query($con,"insert into
uploadfile(username,email,image,imagename)values
('$uname','$email','$image','$imagename')")
or die("Query Error ");
?>
<script> window.alert("Record saved ");
</script>
<?php
}
}
?>
答案 0 :(得分:0)
我认为您必须检查服务器端设置(帖子的最大大小,最大执行时间),具体取决于要上传的文件的大小以及数据库结构,字段image
必须为斑点。