php运行数据库语句 php处理数据库的常用函数

如何利用PHP执行.SQL文件本篇文章是对使用PHP执行 SQL文件php运行数据库语句的实现代码进行php运行数据库语句了详细php运行数据库语句的分析介绍 需要的朋友参考下
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
phpstorm怎么运行sql文件第一步:
选择需要连接的数据库
输入数据库地址、用户名、密码等,保存
这里就是展示的数据库里的信息,包括所有的表等等
双击右边的表名可以查询表里的所有数据 , 左边也可以编写SQL语句
把你需要运行的sql 文件在phpstorm里面打开,
点击右键选择运行的sql文件
选择连接的数据库,然后确定
或者直接点击运行按钮
OK 啦
php中执行mysql语句?不可以!如果你的表有5个字段 而你是只要插入两个字段!其他不要插的的要用default(默认)代替!

推荐阅读