1、用 mysql_connect 的方法,PHP7會報致命錯誤
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國際域名空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、五指山網(wǎng)站維護(hù)、網(wǎng)站推廣。
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in? /Users/xueyanxiang/work/test/xue.php ?on line? 31
原因是:
PHP5中使用mysql_connect()函數(shù)進(jìn)行連接,但實(shí)際上,PHP5.5開始,MySQL就不推薦使用了,屬于廢棄函數(shù)
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說明,取而代之的是如下兩個:
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在將來會被移除。應(yīng)使用?MySQLi?或?PDO_MySQL?擴(kuò)展來替換之。參見?MySQL:選擇
API?指南以及相關(guān) FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據(jù)說是面向?qū)ο蟮膸臁?/p>
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個拓展了。
2、可以使用mysqli,對象化,方法名與被廢棄的類似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
3、PDO工具,推薦使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填寫參數(shù)的話,默認(rèn)是關(guān)聯(lián)和索引都有,如下圖
PHP 中的fgets() 函數(shù)可以實(shí)現(xiàn)
fgets() 函數(shù)從文件指針中讀取一行。
fgets(file,length)
參數(shù)說明
file 必需。規(guī)定要讀取的文件。
length 可選。規(guī)定要讀取的字節(jié)數(shù)。默認(rèn)是 1024 字節(jié)。
詳細(xì)說明
從 file 指向的文件中讀取一行并返回長度最多為 length - 1 字節(jié)的字符串。碰到換行符(包括在返回值中)、EOF 或者已經(jīng)讀取了 length - 1 字節(jié)后停止(要看先碰到那一種情況)。如果沒有指定 length,則默認(rèn)為 1K,或者說 1024 字節(jié)。
若失敗,則返回 false。
注釋:length 參數(shù)從 PHP 4.2.0 起成為可選項(xiàng),如果忽略,則行的長度被假定為 1024 字節(jié)。從 PHP 4.3 開始,忽略掉 length 將繼續(xù)從流中讀取數(shù)據(jù)直到行結(jié)束。如果文件中的大多數(shù)行都大于 8 KB,則在腳本中指定最大行的長度在利用資源上更為有效。
從 PHP 4.3 開始本函數(shù)可以安全用于二進(jìn)制文件。早期的版本則不行。
如果碰到 PHP 在讀取文件時不能識別 Macintosh 文件的行結(jié)束符,可以激活 auto_detect_line_endings 運(yùn)行時配置選項(xiàng)。
例如:
test.txt 文本內(nèi)容如下:
Hello, this is a test file.
There are three lines here.
This is the last line.
?php
//讀取一行
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?
輸出:
Hello, this is a test file.
?php
//循環(huán)讀取每一行
$file = fopen("test.txt","r");
while(! feof($file)) {
echo $str = fgets($file). "br /";
//這里可以逐行的寫入數(shù)據(jù)庫中
//mysql_query("insert into table(id,contents) values(NULL,'".$str."')");
}
fclose($file);
?
輸出:
Hello, this is a test file.
There are three lines here.
This is the last line.
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫;
檢查php環(huán)境是否已開啟mysql擴(kuò)展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒有mysql項(xiàng);b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫連接失??!".mysql_errno());
}else{
echo "數(shù)據(jù)庫連接成功!";
}
我一直不喜歡phpmyadmin這種web界面的 我用我用navicat 8 for mysql 客戶端軟件
比phpmyadmin強(qiáng)大多了 sql文件過大記事本打不開 直接用軟件導(dǎo)入 在數(shù)據(jù)上右鍵執(zhí)行批次任務(wù)
選擇文件 執(zhí)行 就導(dǎo)入了 編輯表 設(shè)置用戶 視圖 備份 該有的都有了
解決方案:可以先對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完后再插入到數(shù)據(jù)庫
例如:
$spec = array(
'name' = '張三',
'state' = new MongoInt32(100)
);
或
$spec = array(
'name' = '張三',
'state' = new MongoInt64(100) //NumberLong
)
如在客戶端的話, 那需要上傳!
file ('c:\123.txt');
讀取的是服務(wù)器上硬盤C區(qū)中的123.txt
而不是訪問者電腦的硬盤上的文件!
無論什么服務(wù)器端腳本, 在用戶未上傳本地文件的情況下, 都是不可能讀取到客戶端上的文件的!
當(dāng)前標(biāo)題:PHP7寫入數(shù)據(jù)庫腳本 php數(shù)據(jù)庫導(dǎo)入
URL鏈接:http://chinadenli.net/article6/hpepig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、商城網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、微信小程序、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)