不可以!如果你的表有5個字段 而你是只要插入兩個字段!其他不要插的的要用default(默認)代替!
創新互聯建站專注于企業營銷型網站建設、網站重做改版、遜克網站定制設計、自適應品牌網站建設、HTML5建站、商城網站建設、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為遜克等各大城市提供網站開發制作服務。
$haha = M(),$res = $haha-query($sql)。
或 $res = $waw-execute($sql)。
$sql中包含了表名,實例化模型時可以為空。注意query是查功能,execute是增刪改功能。
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/?es kju? ?el/ "S-Q-L"),是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統。
可以使用相同的結構化查詢語言作為數據輸入與管理的接口。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標準協會對SQL進行規范后,以此作為關系式數據庫管理系統的標準語言(ANSI X3. 135-1986),1987年得到國際標準組織的支持下成為國際標準。不過各種通行的數據庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。
所以,實際上不同數據庫系統之間的SQL不能完全相互通用。
下次要是沒把握時,先啟動一個事務
象這樣
begin
transaction
--啟動一個事務
update
tablename
set
xxxxx
where
xxxx
select
*
from
tablename
--查看結果
--如果發現有問題就執行這個語句:
rollback
transaction
--沒問題就迅速執行這個語句:
commit
transaction
這些都要先寫好了,執行完成后要迅速執行事務提交或回滾語句。
以免啟動事務影響其它人對更改過的表的訪問。
本篇文章是對使用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_dump($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_dump($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_ ); ? lishixinzhi/Article/program/PHP/201311/21281
當前標題:php執行數據庫語句 php數據庫操作
本文鏈接:http://vcdvsql.cn/article16/ddeicgg.html
成都網站建設公司_創新互聯,為您提供域名注冊、商城網站、搜索引擎優化、外貿網站建設、、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯