1:首先要使用PHP的超全局變量 $_GET 和 $_POST 用于收集表單數(shù)據(jù)(form-data)
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站建設、網(wǎng)站設計、石峰網(wǎng)絡推廣、成都微信小程序、石峰網(wǎng)絡營銷、石峰企業(yè)策劃、石峰品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供石峰建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:muchs.cn
2:然后使用INSERT INTO 語句用于向數(shù)據(jù)庫表中插入新記錄。
具體示例:
(1)首先創(chuàng)建了一個名為 "Persons" 的表,有三個列:"Firstname", "Lastname" 以及 "Age"。
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
mysql_select_db("my_db",?$con);
mysql_query("INSERT?INTO?Persons?(FirstName,?LastName,?Age)?
VALUES?('Peter',?'Griffin',?'35')");
mysql_query("INSERT?INTO?Persons?(FirstName,?LastName,?Age)?
VALUES?('Glenn',?'Quagmire',?'33')");
mysql_close($con);
?
(2)其次創(chuàng)建一個 HTML 表單,這個表單可把新記錄插入 "Persons" 表。
html
body
form?action="insert.php"?method="post"
Firstname:?input?type="text"?name="firstname"?/
Lastname:?input?type="text"?name="lastname"?/
Age:?input?type="text"?name="age"?/
input?type="submit"?/
/form
/body
/html
(3)接著當用戶點擊上例中 HTML 表單中的提交按鈕時,表單數(shù)據(jù)被發(fā)送到 "insert.php"。"insert.php" 文件連接數(shù)據(jù)庫,并通過
$_POST 變量從表單取回值。然后,mysql_query() 函數(shù)執(zhí)行 INSERT INTO 語句,一條新的記錄會添加到數(shù)據(jù)庫表中。
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
mysql_select_db("my_db",?$con);
$sql="INSERT?INTO?Persons?(FirstName,?LastName,?Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if?(!mysql_query($sql,$con))
{
die('Error:?'?.?mysql_error());
}
echo?"1?record?added";
mysql_close($con)
?
樓上的.... 唉
你不需要將文件保存在數(shù)據(jù)庫中 你可以把文件上傳到一個目錄下面 存入數(shù)據(jù)庫的只是文件路徑就行了 在調(diào)用這個文件時只需從數(shù)據(jù)庫中調(diào)用文件地址 就可以 了
?php
if ($_FILES["file"]["error"] 0)
{
echo "錯誤: " . $_FILES["file"]["error"] . "br /";
}
else
{
echo "存儲位置: " . $_FILES["file"]["tmp_name"];
}
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已經(jīng)存在. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]); //這句是把 上傳在 tmp中的文件移動到你指定的地方
//"upload/" . $_FILES["file"]["name"]);也就是你想要把這個路徑存到數(shù)據(jù)庫中
// 可以用 getcwd()來獲得當前文件夾的路徑,全加進來的話,存入MYSQL要
//經(jīng)過轉(zhuǎn)特殊字符轉(zhuǎn)換。否則像 \ 這樣的字符會不見了。
echo "文件已經(jīng)被存儲到: " . "upload/" . $_FILES["file"]["name"];
$pt=getcwd(). "/upload/" . $_FILES["file"]["name"]; // 這里就是你設置傳入數(shù)據(jù)庫的路徑
mysql_connect("localhost","root","root") or die ("不能連到MYSQL");
mysql_select_db("book") or die ("不能連到數(shù)據(jù)庫"); //這里假設是在 book 里的d 表只有一
//項,實際情況你自己改SQL語句啊
$sql="insert into d values(
'$pt' );";
mysql_query($sql);
}
?
關(guān)鍵應該是把上傳文件從默認的 windows/temp 中移動到你指定的文件夾中
本文實例講述了PHP實現(xiàn)上傳圖片到數(shù)據(jù)庫并顯示輸出的方法。分享給大家供大家參考,具體如下:
1.
創(chuàng)建數(shù)據(jù)表
CREATE
TABLE
ccs_image
(
id
int(4)
unsigned
NOT
NULL
auto_increment,
description
varchar(250)
default
NULL,
bin_data
longblob,
filename
varchar(50)
default
NULL,
filesize
varchar(50)
default
NULL,
filetype
varchar(50)
default
NULL,
PRIMARY
KEY
(id)
)engine=myisam
DEFAULT
charset=utf8
2.
用于上傳圖片到服務器的頁面
upimage.html
!doctype
html
html
lang="en"
head
meta
charset="UTF-8"
meta
name="viewport"
content="width=device-width,
user-scalable=no,
initial-scale=1.0,
maximum-scale=1.0,
minimum-scale=1.0"
meta
http-equiv="X-UA-Compatible"
content="ie=edge"
style
type="text/css"
*{margin:
1%}
/style
titleDocument/title
/head
body
form
method="post"
action="upimage.php"
enctype="multipart/form-data"
描述:
input
type="text"
name="form_description"
size="40"
input
type="hidden"
name="MAX_FILE_SIZE"
value="1000000"
br
上傳文件到數(shù)據(jù)庫:
input
type="file"
name="form_data"
size="40"br
input
type="submit"
name="submit"
value="submit"
/form
/body
/html
3.
處理圖片上傳的php
upimage.php
?php
if
(isset($_POST['submit']))
{
$form_description
=
$_POST['form_description'];
$form_data_name
=
$_FILES['form_data']['name'];
$form_data_size
=
$_FILES['form_data']['size'];
$form_data_type
=
$_FILES['form_data']['type'];
$form_data
=
$_FILES['form_data']['tmp_name'];
$dsn
=
'mysql:dbname=test;host=localhost';
$pdo
=
new
PDO($dsn,
'root',
'root');
$data
=
addslashes(fread(fopen($form_data,
"r"),
filesize($form_data)));
//echo
"mysqlPicture=".$data;
$result
=
$pdo-query("INSERT
INTO
ccs_image
(description,bin_data,filename,filesize,filetype)
VALUES
('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
if
($result)
{
echo
"圖片已存儲到數(shù)據(jù)庫";
}
else
{
echo
"請求失敗,請重試";
注:圖片是以二進制blob形式存進數(shù)據(jù)庫的,像這樣
4.
顯示圖片的php
getimage.php
?php
$id
=2;//
$_GET['id'];
為簡潔,直接將id寫上了,正常應該是通過用戶填入的id獲取的
$dsn='mysql:dbname=test;host=localhost';
$pdo=new
PDO($dsn,'root','root');
$query
=
"select
bin_data,filetype
from
ccs_image
where
id=2";
$result
=
$pdo-query($query);
$result=$result-fetchAll(2);
//
var_dump($result);
$data
=
$result[0]['bin_data'];
$type
=
$result[0]['filetype'];
Header(
"Content-type:
$type");
echo
$data;
到瀏覽器查看已經(jīng)上傳的圖片,看是否可以顯示
是沒有問題的,證明圖片已經(jīng)以二進制的形式存儲到數(shù)據(jù)庫了
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+mysql數(shù)據(jù)庫操作入門教程》、《php+mysqli數(shù)據(jù)庫程序設計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:php實現(xiàn)上傳圖片保存到數(shù)據(jù)庫的方法php上傳圖片存入數(shù)據(jù)庫示例分享php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫的具體實現(xiàn)php中如何將圖片儲存在數(shù)據(jù)庫里php下將圖片以二進制存入mysql數(shù)據(jù)庫中并顯示的實現(xiàn)代碼php
從數(shù)據(jù)庫提取二進制圖片的處理代碼php將圖片保存入mysql數(shù)據(jù)庫失敗的解決方法php將圖片文件轉(zhuǎn)換成二進制輸出的方法php圖片的二進制轉(zhuǎn)換實現(xiàn)方法
數(shù)組吧,直接把數(shù)組轉(zhuǎn)字符串啊
implode() 函數(shù)返回由數(shù)組元素組合成的字符串。(適合一維數(shù)組)
$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');
1 echo implode(" ",$arr);//加空格
the result : Hello World I love Shanghai
2 echo implode(",",$arr);//加逗號
the result : Hello,World,I,love,Shanghai
轉(zhuǎn)換數(shù)組為字符串后插入數(shù)據(jù)庫就可以了。
這是我寫過的上傳頭像的代碼,跟你的一個意思,可供參考
?php
$a="./image/head/".time().$_FILES['myfile']['name'];
$c=move_uploaded_file($_FILES['myfile']['tmp_name'],$a);
$con=mysql_connect("localhost","root","");
if(!$con){
die('無法連接'.mysql_error());
}
mysql_select_db("test",$con);
$result=mysql_query("UPDATE yonghu SET headimage='$a' WHERE name='$_COOKIE[user]'");
if($c$result)
echo "上傳成功";
?
具體幾個意思就是
1,上傳文件后需要移動到指定目錄
2,用到內(nèi)置函數(shù)$_FILES[ ][ ];
3,將路徑保存到數(shù)據(jù)庫,在相應鏈接頁面用php輸出即可
網(wǎng)站標題:php上傳寫入數(shù)據(jù)庫中 php添加數(shù)據(jù)到數(shù)據(jù)庫
本文來源:http://muchs.cn/article0/docsoio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站維護、網(wǎng)站營銷、定制開發(fā)、網(wǎng)站制作、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)