-1

我想在验证用户名和密码后将图像和文本存储在数据库中?

我有两个文件:

  1. 登录.html
  2. 插入.php

登录.html

<html>
<body>

<form action="insert.php" method="post">
username <input type="text" name="username" />
password <input type="text" name="password" />
image <input type="file" name="image" />
message <input type="text" name="message" />

<input type="Submit" /></form>

插入.php

<?php

$conn_error='could not connect.';
$mysql_host='localhost';
$mysql_user='ommzbocg_myappu';
$mysql_pass='d*BQTk2zScNb';
$mysql_db='ommzbocg_myapp';
$tbl_name='data';

$username=$_POST['username'];
$password=$_POST['password'];
$image=$_POST['image'];
$message=$_POST['message'];

if(!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)      ||!@mysql_select_db($mysql_db))
{ die($conn_error);
}
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$password'";
$result=mysql_query($sql);

// mysql_num_row 正在统计表行 $count=mysql_num_rows($result);

// 如果结果匹配 $myusername 和 $mypassword,表行必须是 1 行 if($count==1){

$query = "INSERT INTO data VALUES('$username','$password','$image','$message')";
}else{
echo '0';
}
if($query)
{
echo "1";

}
else
{ 
echo"Error";
}

mysql_query($query);
mysql_close();
?>

我只能进行身份验证,但我无法存储图像和数据。

4

1 回答 1

0

首先修改您的 login.html 并将您的表单标签替换为以下表单标签以上传文件

<form method="post" action="insert.php" enctype="multipart/form-data">

并确保数据类型应该是 blob 或 long blob(取决于您的文件大小),您将在其中存储图像/文件。

比在插入表格之前使用下面的代码

$tmpName  = $_FILES['image']['tmp_name'];
$fp = fopen($tmpName, 'r');
$image = fread($fp, filesize($tmpName));
$image = addslashes($content);
fclose($fp);

我建议您阅读这篇不错的文章http://mirificampress.com/permalink/saving_a_file_into_mysql在数据库中添加图像。

于 2013-10-18T07:56:21.707 回答