模式各种参数的输出结果一览,php查询mssql出现乱

作者: 新金沙平台  发布:2019-07-18

本文实例讲述了php实现计数器的方法。分享给大家供大家参考。具体如下:

PDO 的 fetch 模式功能实在是太方便了,但每次要产生想要的结果都要试太麻烦了,这里列出可能的组合。

本文实例讲述了php查询mssql出现乱码的解决方法。分享给大家供大家参考。具体分析如下:

这里收藏了三款php计数器代码,他们三个都有一个同共点就是全部无需数据库,而是利用了文本文件来实现网页浏览计数.

复制代码 代码如下:

在php连接mssql时查询出来的全部是乱码,这种问题我根据经验知道是编码问题,下面来给各位总结一下解决方法.

第一款PHP计数器代码如下:

<?php   
$dbAdapter = new PDO("mysql:host=localhost;dbname=test", "root", "1234");   
$dbAdapter->exec("SET NAMES 'utf8';");    
    
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_ASSOC);   
   
//var_dump($data);   
/*  
array(  
   array(  
       'id' => '1',  
       'name' => 'HBO',  
       'method' => 'service',  
   ),  
   array(  
       'id' => '2',  
       'name' => '本周新片',  
       'method' => 'movie',  
   ),  
   array(  
       'id' => '3',  
       'name' => '热映中',  
       'method' => 'movie',  
   ),  
)  
*/   
   
   
   
$data = $dbAdapter->query("  
   SELECT name, method FROM category  
")->fetchAll(PDO::FETCH_COLUMN);   
   
//var_dump($data);   
/*  
array(  
   'HBO',  
   '本周新片',  
   '热映中',  
)  
*/   
   
   
   
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_ASSOC);   
   
//var_dump($data);   
/*  
array(  
   '1' => array(  
       'name' => 'HBO',  
       'method' => 'service',  
   ),  
   '2' => array(  
       'name' => '本周新片',  
       'method' => 'movie',  
   ),  
   '3' => array(  
       'name' => '热映中',  
       'method' => 'movie',  
   ),  
)  
*/   
   
   
   
$data = $dbAdapter->query("  
   SELECT method, id, name FROM category  
")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_ASSOC);   
   
//var_dump($data);   
/*  
array(  
   'service' => array(  
       'id' => '1',  
       'name' => 'HBO',  
   ),  
   'movie' => array(  
       'id' => '3',  
       'name' => '热映中',  
   ),  
)  
*/   
   
   
   
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_COLUMN);   
   
//var_dump($data);   
/*  
array(  
   '1' => 'HBO',  
   '2' => '本周新片',  
   '3' => '热映中',  
)  
*/   
   
   
   
$data = $dbAdapter->query("  
   SELECT method, name, id FROM category  
")->fetchAll(PDO::FETCH_UNIQUE | PDO::FETCH_COLUMN);   
   
//var_dump($data);   
/*  
array(  
   'service' => 'HBO',  
   'movie' => '热映中',  
)  
*/   
   
   
   
   
$data = $dbAdapter->query("  
   SELECT method, id, name FROM category  
")->fetchAll( PDO::FETCH_ASSOC | PDO::FETCH_GROUP);   
   
//var_dump($data);   
/*  
array(  
   'service' => array(  
       array(  
           'id' => '1'  
           'name' => 'HBO'  
       ),  
   )  
   'movie' => array(  
       array(  
         'id' => '2'  
         'name' => '本周新片'  
       ),  
       array(  
         'id' => '3'  
         'name' => '热映中'  
       ),  
   )  
)  
*/   
   
   
   
   
$data = $dbAdapter->query("  
   SELECT method, name, id FROM category  
")->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_COLUMN);   
   
//var_dump($data);   
/*  
array(  
   'service' => array(  
       'HBO'  
   ),  
   'movie' => array(  
       '本周新片'  
       '热映中'  
   ),  
)  
*/   
   
   
   
   
   
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_OBJ);   
   
//var_dump($data);   
/*  
array(  
   stdClass{  
       public $id = '1';  
       public $name = 'HBO';  
       public $method = 'service';  
   },  
   stdClass{  
       public $id = '2';  
       public $name = '本周新片';  
       public $method = 'movie';  
   },  
   stdClass{  
       public $id = '3';  
       public $name = '热映中';  
       public $method = 'movie';  
   },  
)  
*/   
   
   
   
   
   
   
   
class Category_1 {}   
   
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Category_1");   
   
//var_dump($data);   
/*  
array(  
   Category_1{  
       public $id = '1';  
       public $name = 'HBO';  
       public $method = 'service';  
   },  
   Category_1{  
       public $id = '2';  
       public $name = '本周新片';  
       public $method = 'movie';  
   },  
   Category_1{  
       public $id = '3';  
       public $name = '热映中';  
       public $method = 'movie';  
   },  
),  
*/   
   
   
   
   
   
class Category_2 {   
   public $name;   
   public $method;   
   
   public function __construct() {}   
   public function __set($name, $value ){}   
}   
   
$data = $dbAdapter->query("  
   SELECT id, name, method FROM category  
")->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Category_2");   
   
//var_dump($data);   
/*  
array(  
   Category_2{  
       public $name = 'HBO';  
       public $method = 'service';  
   },  
   Category_2{  
       public $name = '本周新片';  
       public $method = 'movie';  
   },  
   Category_2{  
       public $name = '热映中';  
       public $method = 'movie';  
   },  
)  
*/  

方法一,修改php.ini文件,当然根据你页面情况来设置也可以是utf-8编码了,代码如下:

复制代码 代码如下:

您可能感兴趣的文章:

  • php连接与操作PostgreSQL数据库的方法
  • PostgreSQL管理工具phpPgAdmin入门指南
  • PHP 读取Postgresql中的数组
  • PHP5中使用PDO连接数据库的方法
  • php使用PDO方法详解
  • php中mysql连接方式PDO使用详解
  • Php中用PDO查询Mysql来避免SQL注入风险的方法
  • php中在PDO中使用事务(Transaction)
  • php使用pdo连接sqlserver示例分享
  • PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例

复制代码 代码如下:

<?php 
//计数器 
function countx($file="count.dat"){ 
if(file_exists($file)){ 
$fp=fopen($file,"r"); 
$numx=fgets($fp,10); 
fclose($fp); 
$numx ; 
//以上四行代码可以用一条表达式代替:$numx=file_get_contents($file) 1; 

else{ 
$numx=1;} 
file_put_contents($file,$numx);//当文件不存在时,这函数会自动创建文件,而且会自动把参数转成字符串写入。 
echo $numx; 
/*整个函数体可以用两条表达式代替:file_exists($file)?file_put_contents($file,file_get_contents($file) 1):file_put_contents($file,"1");readfile($file); 
*/ 

//函数调用 
countx(); 
?>

;mssql.charset = "ISO-8859-1"

第二款PHP计数器,代码如下:

mssql.charset = "GBK"

复制代码 代码如下:

方法二,直接程序中转换,代码如下:

<?php 
  $counterfile = "balong.txt";//存储数值的文件名几路径 
  function displaycounter($counterfile) { 
   $fp = fopen($counterfile,"rw"); 
   $num = fgets($fp,5); 
   $num = 1; 
   print "您是第 "."$num"." 个看巴泷计数器的家伙"; 
   exec( "rm -rf $counterfile"); 
   exec( "echo $num > $counterfile"); 
  } 
   
  if (!file_exists($counterfile)) { 
   exec( "echo 0 > $counterfile"); 
  } 
   
  displaycounter($counterfile); 
?>

复制代码 代码如下:

本文由新金沙平台发布于新金沙平台,转载请注明出处:模式各种参数的输出结果一览,php查询mssql出现乱

关键词: 新金沙平台