phpthink 代码里的dsn股东代码是什么意思思

PHP连接MySQL数据库的三种方法:面向过程、面向对象、PDO方法
发布:sccscc | 发布时间: 日
  在这里我总结了三种常用的PHP连接MySQL数据库方法,希望能够帮到你,当然也是作为我自己的一个回顾总结。  方法一:普通方法(面向过程)  首先,我先做出如下假设(也适用与方法二和方法三)  $username=your_  $userpass=your_  $dbhost=  $dbdatabase=your_  下面是关键步骤:  //生成一个连接  $db_connect=mysql_connect($dbhost,$username,$userpass) or die(&Unable to connect to the MySQL!&);  //编码转化  mysql_query(&set names 'utf8&&);  //选择一个需要操作的数据库  mysql_select_db($dbdatabase,$db_connect);  //执行MySQL语句  $result=mysql_query(&SELECT id,name FROM user&);  //提取数据  $row=mysql_fetch_row($result);  代码注释已经说明了一切。不过这里还需要做一些补充。  ①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;  ②提取数据的时候,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array,具体差别请查阅PHP M  ③对于mysql_query()函数的返回值,如果执行的语句有返回值(如SELECT、SHOW、DESCRIBE等),则返回相应数据(成功时)或FALSE(失败时);如果执行的语句没有返回值(如DELETE、DROP、INSERT、UPDATE等),则返回TRUE(成功时)或FALSE(失败时)。  方法二:面向对象方法  其实这种方法和普通方法非常类似,只是把相应的函数换成了面向对象方法,直接看代码。  $db=new mysqli($dbhost,$username,$userpass,$dbdatabase);  if(mysqli_connect_error()){  echo 'Could not connect to database.';    }  $result=$db-&query(&SELECT id,name FROM user&);  $row=$result-&fetch_row();  这里用到的是mysqli,意思就是mysql的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互,唯一不同的是调用函数(对象方法)的方式不一样。  方法三:PDO方法  PDO其实是PHP Database Objects的缩写,中文即PHP数据库对象。它提供了一种统一的PHP与数据库交互的方法。  这是目前比较流行的一种连接数据库的方法。它的优势在于:只要正确提供数据源,余下对于数据库的基本操作都是一样的。也就是说,同一段代码既可以同MySQL交互,也可以和SQLite3交互,当然也可以和PostgreSQL进行交互,前提是你提供了正确的数据源。下面看一下连接MySQL的代码:  $dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'  $dbh=new PDO($dsn,$username,$userpass);  如果是SQLite3,直接使用下面的代码:  $dsn='sqlite3:&C:\sqlite\user.db&';  $dbh=new PDO($dsn);  如果是PostgreSQL,下面的代码能够对付:  $dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$  $dbh=new PDO($dsn);  跟数据库成功建立连接之后,下面就只需要从数据库获取数据或插入更新数据,实例代码如下:  $stmt=$dbh-&query('SELECT id,name FROM user&);  $row=$stmt-&fetch();
发布:sccscc | 分类:PHP | 评论:0 | 浏览:
&&( 23:30:15)&&( 23:28:25)&&( 23:23:31)&&( 15:17:33)&&( 15:16:26)&&( 15:15:42)&&( 15:13:43)&&( 15:8:24)&&( 23:48:35)&&( 23:18:45)
正文(*)(留言最长字数:1000)
记住我,下次回复时不用重新输入个人信息
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。投诉建议、广告投放、友情链接,联系QQ:
phpthink中字符串截取代码-支持中文和其它编码
Loading...
一款不错的支持中文和其它编码截取函数,不会出现乱码情况,有需要的朋友可以参考一下。
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $start 开始位置
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
function msubstr($str, $start=0, $length, $charset=&utf-8&, $suffix=true) {
&&& if(function_exists(&mb_substr&))
&&& $slice = mb_substr($str, $start, $length, $charset);
&&& elseif(function_exists('_substr')) {
&&&&&&& $slice = iconv_substr($str,$start,$length,$charset);
&&& }else{
&&&&&&& $re['utf-8']&& = &/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/&;
&&&&&&& $re['gb2312'] = &/[x01-x7f]|[xb0-xf7][xa0-xfe]/&;
&&&&&&& $re['gbk']&&&&& = &/[x01-x7f]|[x81-xfe][x40-xfe]/&;
&&&&&&& $re['big5']&&&&& = &/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/&;
&&&&&&& _all($re[$charset], $str, $match);
&&&&&&& $slice = join(&&,array_slice($match[0], $start, $length));
&&& if($suffix && $str != $slice) return $slice.&...&;
&&& return $
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
function mStr($str, $length, $charset=&utf-8&, $suffix=true){
&&& return msubstr($str, 0, $length, $charset, $suffix);
IT技术书籍推荐:
数据库技术丛书·MySQL技术内幕:InnoDB存储引擎(第2版)
姜承尧 (David Jiang) (作者)
《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。
《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。
《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。
相关推荐:1、2、3、4、5、6、7、8、9、10、
随机关键词:
正在加载...
最新微信头条phpthink中字符串截取代码-支持中文和其它编码-Php应用-Php教程-壹聚教程网phpthink中字符串截取代码-支持中文和其它编码
一款不错的支持中文和其它编码截取函数,不会出现乱码情况,有需要的朋友可以参考一下。
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $start 开始位置
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
function msubstr($str, $start=0, $length, $charset=&utf-8&, $suffix=true) {
&&& if(function_exists(&mb_substr&))
&&& $slice = mb_substr($str, $start, $length, $charset);
&&& elseif(function_exists('_substr')) {
&&&&&&& $slice = iconv_substr($str,$start,$length,$charset);
&&& }else{
&&&&&&& $re['utf-8']&& = &/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/&;
&&&&&&& $re['gb2312'] = &/[x01-x7f]|[xb0-xf7][xa0-xfe]/&;
&&&&&&& $re['gbk']&&&&& = &/[x01-x7f]|[x81-xfe][x40-xfe]/&;
&&&&&&& $re['big5']&&&&& = &/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/&;
&&&&&&& _all($re[$charset], $str, $match);
&&&&&&& $slice = join(&&,array_slice($match[0], $start, $length));
&&& if($suffix && $str != $slice) return $slice.&...&;
&&& return $
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
function mStr($str, $length, $charset=&utf-8&, $suffix=true){
&&& return msubstr($str, 0, $length, $charset, $suffix);
上一页: &&&&&下一页:相关内容thinkphp 中$this->post(),$this->_get()函数介绍-thinkphp-Php教程-壹聚教程网post(),$this->_get()函数的使用方法,希望本文章可以帮助到各位的哦." />thinkphp 中$this->post(),$this->_get()函数介绍
下面来为各位介绍thinkphp 中$this->post(),$this->_get()函数的使用方法,希望本文章可以帮助到各位的哦.
1.继承单一控制器
我们在写thinkphp控制器的时候,都是单独的控制器文件,在实际的项目中每个控制器可能都需要相关同样的验证,这种情况我们就可以的使用公共的控制器里写入对应的验证,其他控制器直接继承就好了这里面thinkphp.12为例子
*公共控制器
classCommonAction extendsAction {
publicstatic$
publicstatic$
publicfunction__construct(){
self::$global=getGolVal();
//dump(self::$global);
$navList=getNavlist(0,6);
$this-&assign('list',$navList);
$this-&assign('g',self::$global);
publicfunctionerror(){
$this-&display('404');
* Enter description here ...
publicstaticfunctionnavLists($id,$type=0){
$id=intval($id);
self::$model=M('Category');
if($type==0){
$leftList=self::$model-&where(&parent_id=0 and mark=1 and type=0 &)-&();
}elseif($type==1){
$leftList=self::$model-&where(&id={$id} and mark=1 &)-&find();
if($leftList['parent_id']==0){//顶级栏目
$leftList=self::$model-&where(&parent_id={$id} and mark=1 &)-&select();
if(!is_array($leftList)){//顶级栏目 没有的子栏目话就显示
$leftList=self::$model-&where(&id={$id} and mark=1 &)-&find();
$tempList=array();
$tempList[]=$leftL
$leftList=$tempL
$tempList=array();
$tempList[]=$leftL
$leftList=$tempL
/*dump($leftList);
dump(self::$model-&getLastSql());*/
return$leftL
额外的小知识,虽然在thinkphp中M()函数实例化模型,返回是一个静态变量,但是M方法却不是静态调用的,所以我们在多次调用M()时候尽量多使用静态属性,以提高好的效率。action操作里面尽量使用局部函数,减少资源消耗。
*other控制器
classOtherAction extendsCommonAction {
2.对于post,get传来的值可以使用$this-&_post();$this-&_get();
$this-&_post();$this-&_get();
这个函数默认就会使用htmlspecialchars()进行过滤,不用手动过滤。哈哈,省了不少功夫吧
在thinkphp3.1.3中有一个新的函数I();直接接收表单数据,并默认为htmlspecailchars();过滤这个函数有这些字段 I('需要接收的表单名','如果数据为空默认值','使用的函数处理表单数据');
U();函数是输出地址
U('操作名','array()参数','后缀名',是否跳转,域名)
上一页: &&&&&下一页:相关内容Bootstrap模态框Modals详解
发布:sccscc | 发布时间: 日
  Bootstrap是Twitter推出的一个开发工具包,包含了一些比较常用的CSS,JavaScript代码。使用Bootstrap可以加快前端开发的速度。很多网站,包括新浪sae都是使用了Bootstrap。  本文不是介绍Bootstrap,而是介绍使用Bootstrap中的一个JS特效&&Modals。  注意:Bootstrap的JavaScript效果是需要搭配JQuery使用的!  Modals是什么?  下面建立一个Modal示例,除了引入JS文件外,无需写一行JS代码。  首先需要引用CSS文件,引用CSS文件的语句放在网页head部分&link href=&& rel=&stylesheet& type=&text/css&&  然后引用JS文件,下面的JS代码建议放到网页&/body&之前&script src=&& type=&text/javascript&&&/script&  &script src=&& type=&text/javascript&&&/script&  接着在页面中建立一个div,代码如下:  &div id=&my_modal& class=&modal hide fade&&  &div class=&modal-header&&&a class=&close& title=&关闭小窗口&&&&/a&&h3&Modal标题&/h3&&/div&  &div class=&modal-body&&  &p&这个div内放内容&/p&  &/div&  &div class=&modal-footer&&  &a class=&btn primary&&按钮一个&/a&  &/div&  &/div&  上面的id为my_modal的DIV就是用来显示的窗口(Modal),默认是不显示的(因为class=&hide&)。  最后在网页中添加一个标签,这里我使用a标签,点击这个标签就会显示Modal,代码如下:  &a class=&btn&& data-controls-modal=&my_modal& data-backdrop=&true& data-keyboard=&false&&按钮一个&/a&  标签属性讲解  class=&btn& ,显示出来是一个按钮,'btn'类选择器的定义在bootstrap.min.cssdata-controls-modal & 要显示的Modal的ID  data-controls-modal=&my_modal&中的my_modal就是我们上面我们定义的容器DIVdata-backdrop & 背景选项  data-backdrop=&true&这个属性值表示显示黑色的页面背景且点击黑色背景会隐蔽modaldata-backdrop=&false&false,不显示黑色的背景data-backdrop=&static&static,会显示黑色背景但点击黑色背景不会隐蔽modaldata-keyboard 键盘选项  data-keyboard=&false& 值可以是true或false,按下键盘ESC键时是否关闭(隐蔽)modal这样,无需写一行JS代码就可以建立一个Modal示例了。&
发布:sccscc | 分类:JavaScript | 评论:0 | 浏览:
&&( 15:8:24)&&( 12:41:4)&&( 22:37:37)&&( 16:10:18)&&( 22:53:18)&&( 20:26:55)
正文(*)(留言最长字数:1000)
记住我,下次回复时不用重新输入个人信息
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。}

我要回帖

更多关于 源代码是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信