1. phpstorm怎麼運行sql文件
第一步:
或者直接點擊運行按鈕
OK 啦
2. 如何利用PHP執行.SQL文件
本篇文章是對使用PHP執行 SQL文件的實現代碼進行了詳細的分析介紹 需要的朋友參考下demo php:
復制代碼 代碼如下: <?php /** * 讀取 sql 文件並寫入資料庫 * @version demo php */ class DBManager { var $dbHost = ; var $dbUser = ; var $dbPassword = ; var $dbSchema = ; function __construct($host $user $password $schema) { $this >dbHost = $host; $this >dbUser = $user; $this >dbPassword = $password; $this >dbSchema = $schema; } function createFromFile($sqlPath $delimiter = (;/n)|((;/r/n))|(;/r) $prefix = $menter = array( # )) { //判斷文件是否存在 if(!file_exists($sqlPath)) return false; $handle = fopen($sqlPath rb ); $sqlStr = fread($handle filesize($sqlPath)); //通過sql語法的語句分割符進行分割 $segment = explode(";" trim($sqlStr)); //var_mp($segment); //去掉注釋和多餘的空行 foreach($segment as & $statement) { $sentence = explode("/n" $statement); $newStatement = array(); foreach($sentence as $subSentence) { if( != trim($subSentence)) { //判斷是會否是注釋 $isComment = false; foreach($menter as $er) { if(eregi("^(" $er ")" trim($subSentence))) { $isComment = true; break; } } //如果不是注釋 則認為是sql語句 if(!$isComment) $newStatement[] = $subSentence; } } $statement = $newStatement; } //對表名加前綴 if( != $prefix) { //只有表名在第一行出現時才有效 例如 CREATE TABLE talbeName $regxTable = "^[/`/ /"]{ }[/_a zA Z]+[/_a zA Z ]*[/`/ /"]{ }$";//處理表名的正則表達式 $regxLeftWall = "^[/`/ /"]{ }"; $sqlFlagTree = array( "CREATE" => array( "TABLE" => array( "$regxTable" => ) ) "INSERT" => array( "INTO" => array( "$regxTable" => ) ) ); foreach($segment as & $statement) { $tokens = split(" " $statement[ ]); $tableName = array(); $this >findTableName($sqlFlagTree $tokens $tableName); if(empty($tableName[ leftWall ])) { $newTableName = $prefix $tableName[ name ]; } else{ $newTableName = $tableName[ leftWall ] $prefix substr($tableName[ name ] ); } $statement[ ] = str_replace($tableName[ name ] $newTableName $statement[ ]); } } //組合sql語句 foreach($segment as & $statement) { $newStmt = ; foreach($statement as $sentence) { $newStmt = $newStmt trim($sentence) "/n"; } $statement = $newStmt; } //用於測試 //var_mp($segment); //writeArrayToFile( data txt $segment); // self::saveByQuery($segment); return true; } private function saveByQuery($sqlArray) { $conn = mysql_connect($this >dbHost $this >dbUser $this >dbPassword); mysql_select_db($this >dbSchema); foreach($sqlArray as $sql) { mysql_query($sql); } mysql_close($conn); } private function findTableName($sqlFlagTree $tokens $tokensKey= & $tableName = array()) { $regxLeftWall = "^[/`/ /"]{ }"; if(count($tokens)<=$tokensKey) return false; if( == trim($tokens[$tokensKey])) { return self::findTableName($sqlFlagTree $tokens $tokensKey+ $tableName); } else { foreach($sqlFlagTree as $flag => $v) { if(eregi($flag $tokens[$tokensKey])) { if( ==$v) { $tableName[ name ] = $tokens[$tokensKey]; if(eregi($regxLeftWall $tableName[ name ])) { $tableName[ leftWall ] = $tableName[ name ]{ }; } return true; } else{ return self::findTableName($v $tokens $tokensKey+ & $tableName); } } } } return false; } } function writeArrayToFile($fileName $dataArray $delimiter="/r/n") { $handle=fopen($fileName "wb"); $text = ; foreach($dataArray as $data) { $text = $text $data $delimiter; } fwrite($handle $text); } //測試 $dbM = new DBManager( localhost w f test ); $dbM >createFromFile( data sql null fff_ ); ?> lishixin/Article/program/PHP/201311/21281
3. 如何在php中執行多條sql語句
這里沒有很官方的解釋,我個人認為mysql_query 不能批量執行SQL語句的原因最主要的一個就是Mysql_query不能判斷你的批量語句裡面是否包含錯誤.為了最大的保證程序的順利執行,所以,乾脆罷工了.
解決的辦法,有很多種.這里僅列出我的心得之一(利用數組用Mysql_query批量執行SQL語句)
$query = 『delete from ecs_goods_attr where attr_id=138 and goods_id=442;Insert into ecs_goods_attr (goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(Null,442,138,」歐版 白色」,0);update ecs_goods set goods_number=10,shop_price=955 where goods_id=442;』
$query 是我需要執行的SQL語句,顯然這里 mysql_query($query); 是無法得到我們想要的結果的.這里我們採用一個數組.用explode 函數,將$query語句按照」;」炸開.這個說的比較形象.呵呵
$query = 『delete from ecs_goods_attr where attr_id=138 and goods_id=442;Insert into ecs_goods_attr (goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(Null,442,138,」歐版 白色」,0);update ecs_goods set goods_number=10,shop_price=955 where goods_id=442;』
$query_e = explode(『;』,』$query』);
foreach ($query_e as $k =>$v)
{
mysql_query($query_e[$k]);
}
這樣 $query語句就被批量的執行了.呵呵
4. phpStudy怎麼導入sql文件啊
點擊MySQL管理器--》點擊進入MySQL-Front--》在localhost下選擇新建一個資料庫--》點擊新建資料庫後,在對象瀏覽器窗口,單擊右鍵--》輸入--》sql文件命令,進入後選擇對應.sql文件進行導入(注意:字元集格式選擇)
5. 急求php文件的內容調用和mysql內容調用方法
php調用mysql步驟:1、連接MySQL資料庫;2、選擇MySQL資料庫;3、執行SQL語句;4、關閉結果集;5、關閉MySQL伺服器。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
PHP訪問MYSQL資料庫的五個步驟詳解(圖)
資料庫在我們PHP日常開發中是必須需要的,那麼MYSQL資料庫 是一款很多程序員都喜愛的資料庫,由於呢 MYSQL 是一個開源的,帶一點半商業的,市場的佔有率比宏櫻野較高,所以一直以來都被認為是 PHP 的最佳搭檔,同時 PHP 也具有很強大的資料庫支持能力,本篇主要講解 PHP訪問MySQL資料庫的基本步驟。
PHP訪問MySQL資料庫的基本步驟如圖所示:
.連接MySQL資料庫
使用 mysql_connect()函數建立與MySQL伺服器的連接。有關 mysql_connect()函數的使用,我們後面會有詳細的介紹。
2.選擇MySQL資料庫
使用 mysql_select_db()函數選擇MySQL資料庫伺服器的資料庫。並與資料庫建立連接,有關mysql_select_db()函數的使用,後面我們會有具體詳解。
3.執行 SQL 語句蔽喊
在選擇資料庫中使用 mysql_query()函數執行 SQL語句,對數據的操作方式主要包括 5種方式,下面我們分別進行介紹。查詢數據:使用select 語句實現數據的查詢功能。
顯示數據:使用select 語句顯示數據的查詢結果。
插入數據:使用insert into 語句向資料庫中插入數據。
更新數據:使用update 語句更新資料庫中的記錄。
刪除數據:使用 delete語句刪除資料庫中的記錄!
mysql_query()函數的具體使用後面有具體介紹~
4.關閉結果集
資料庫操作完成後,需要關閉結果集,以釋放系統資源,語法格式如下:mysql_free_result($result);
技巧:
如果在多個網頁中都要頻繁進行資料庫訪問,那麼可以建立與資料庫伺服器的持續連接來提高效率,因為每次與資料庫伺服器的連接需要較長的時間和交大的資源開銷,持續的連接相對來說會更有效率,建立持續連接的方法就是在資料庫間接時,調用函數 mysql_pconnect()代替mysql_connect函數。建立的持續連接在本程序結束時,不需要頌晌調用 mysql_colse()來關閉與資料庫伺服器的連接。下次程序在此執行 mysql_pconnect()函數時,系統自動直接返回已經建立的持續連接ID號,而不再去真的連接資料庫。
5.關閉MySQL伺服器
沒使用一次 mysql_connect()或者mysql_query()函數,都會消耗系統資源,再少量用戶放完 web 網站時問題還不大,但如果用戶連接超過一定數量時,就會造成系統性能下降,甚至是死機,為了避免這種現象的發生,在完成資料庫的操作後,應該使用 mysql_close()函數關閉與MYSQL伺服器的連接,以節省系統資源。
語法格式如下:mysql_close($link);
說明:
PHP 中與資料庫的連接是非持久連接,系統會自動回收,一般不用設置關閉,但是如果一次性范湖的結果集比較大,或者網站訪問量比價多,那麼最好使用 mysql_close()函數手動進行釋放。
PHP訪問MySQL資料庫的步驟就結束了,是不是很簡單。
推薦學習:《PHP視頻教程》
以上就是php調用mysql步驟的詳細內容,更多請關注php中文網其它相關文章!
6. 怎樣在thinkphp裡面執行原生的sql語句
原生SQL查詢有 query() 和 execute() 兩個方法:
query():用於 SQL 查詢操作,並返回符合查詢條件的數據集
execute():更新和寫入數據的 SQL 操作,返回影響的記錄數
publicfunctionread(){
御彎//實例化一個空模型,沒有對應任何數據表
$Dao=M();
//或者使用$Dao=newModel();
$list=$Dao->query("select*fromuserwhereuid<5");
if($list){
$this->assign('list',$list);
$this->display();
}else{
$this->error($Dao->getError());
}
}
publicfunctionread(){
header("Content-Type:text/html;charset=utf-8");
//實例化一個空模型,沒有對應任何數據表
$Dao=M();
//或者使用$Dao=newModel();
$num=$Dao->execute("updateusersetemail='[email protected]'皮正whereuid=3");
if($num){
echo'更新',$num,'鎮握悶條記錄。';
}else{
echo'無記錄更新';
}
}
7. PHP操作mysql資料庫的步驟
PHP訪問MySQL資料庫:
因為連接資料庫需要較長的時間和較大的資源開銷,所以如果在多個網頁中都要頻繁地訪問資料庫,則可以建立與資料庫的持續連接。即調用mysql_pconnect()代替mysql_connect()。
基本步驟:
1.連接伺服器:mysql_connect();
2.選擇資料庫:mysql_select_db();
3.執行SQL語句:mysql_query();
查詢:select
顯示:show
插入:insert
into
更新:update
刪除:delete
4.關閉結果集:mysql_free_result($result);
5.關閉資料庫:mysql_close($link);
8. PHP源碼運行顯示「執行SQL失敗:No database selected」
這個錯誤表示你沒有指定查詢語句的資料庫,你知道資料庫是什麼意思嗎,可以理解存放表的州信文件夾。
假設你的表tj在資料庫test裡面,那麼SQL語句:
select count(*) from tj ....
就應該修改為:
select count(*) from test.tj ....
也就是說在表名的前面添岩跡世加資料庫名稱和小數點(英文),可以明確的指定資料庫。
還有一個方法,就是在mysql_connect連接到伺服器之後,使用下面的語句選擇資料庫test,表示以後所有的表沒有指粗肢定資料庫都是指test資料庫:
mysql_select_db('test');