PDO配置。打開php.ini配置文件,找到下圖所示的配置信息,去掉要啟用的PDO前面的“#”號即可。另外一種方式是直接在啟動的wampserver中找到php擴(kuò)展中的php_pdo_db.lib選項,重啟wampserver服務(wù)器即可。
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、攸縣網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為攸縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
如何利用PDO連接數(shù)據(jù)庫。利用下面這條簡單的語句即可連接數(shù)據(jù)庫
$pdo = newPDO("mysql:host=localhost;dbname=php100","root",“ ");
其中具體參數(shù)介紹如下圖所示:
PDO中常用的函數(shù)及其解釋如下。
PDO::query()主要是用于有記錄結(jié)果返回的操作,特別是SELECT操作
PDO::exec()主要是針對沒有結(jié)果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID
PDOStatement::fetch()是用來獲取一條記錄
PDOStatement::fetchAll()是獲取所有記錄集到一個中
下面通過一個簡單的php代碼示例來具體介紹如何使用PDO進(jìn)行數(shù)據(jù)庫操作。
?php
//連接數(shù)據(jù)庫
$pdo = new PDO("mysql:host=localhost; dbname=member", "root","");
//在表user_list中插入數(shù)據(jù)
$pdo-exec("insert into user_list(uid, m_id, username, password) values(null,'3','testpdo','testpdo')");
//使用查詢語句
$sr = $pdo-query("select * from user_list");
//將查詢的結(jié)果循環(huán)輸出顯示
while($row=$sr-fetch()){
print_r($row);
}
?
本文實例講述了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.
用于上傳圖片到服務(wù)器的頁面
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
"請求失敗,請重試";
注:圖片是以二進(jìn)制blob形式存進(jìn)數(shù)據(jù)庫的,像這樣
4.
顯示圖片的php
getimage.php
?php
$id
=2;//
$_GET['id'];
為簡潔,直接將id寫上了,正常應(yīng)該是通過用戶填入的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)以二進(jìn)制的形式存儲到數(shù)據(jù)庫了
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+mysql數(shù)據(jù)庫操作入門教程》、《php+mysqli數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:php實現(xiàn)上傳圖片保存到數(shù)據(jù)庫的方法php上傳圖片存入數(shù)據(jù)庫示例分享php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫的具體實現(xiàn)php中如何將圖片儲存在數(shù)據(jù)庫里php下將圖片以二進(jìn)制存入mysql數(shù)據(jù)庫中并顯示的實現(xiàn)代碼php
從數(shù)據(jù)庫提取二進(jìn)制圖片的處理代碼php將圖片保存入mysql數(shù)據(jù)庫失敗的解決方法php將圖片文件轉(zhuǎn)換成二進(jìn)制輸出的方法php圖片的二進(jìn)制轉(zhuǎn)換實現(xiàn)方法
?php
header('content-type:text/html;charset=utf-8');
$dsn = 'mysql:dbname=m-test;host=localhost';
$user = 'root';//數(shù)據(jù)庫用戶名
$passwd = '';//數(shù)據(jù)庫密碼
try {
$pdo = new pdo($dsn, $user, $passwd);
$pdo-query('set names utf8');//設(shè)置字符集
$result = $pdo-query('select * from user');//查詢數(shù)據(jù)庫
foreach ($result as $row) {
echo $row['id'];//輸出 id 號
echo ':';
echo $row['name'];//輸出 name
echo 'br /';
}
} catch (pdoexception $e) {
echo $e-getmessage();//錯誤信息
}
?
應(yīng)該有兩種處理方式吧,oracle 的to_char(日期,‘yyyy-mm-dd’)轉(zhuǎn)換為你想要的格式為字符串,直接用php 輸出。
或者是 把oracle的 時間轉(zhuǎn)換為時間戳然后 用PHP轉(zhuǎn)成你想要的格式吧