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');