php连接mysql提示Call to undefined function mysql_connect()
代码如下 | 复制代码 |
<?php $conn = mysql_connect('localhost','root','password'); var_dump($conn); ?> |
基本就是改配置文件php.ini
首先要确保php.ini中extension_dir = "./ext",该设置是php引用dll的目录;
1.将php文件夹下libmysql.dll和php5ts.dll两个文件拷贝至windows目录下的system32下;或者在环境变量中增加D:php;D:phpext。这两个目录是php的安装目录和扩展dll的目录。
2.修改windows安装目录下的php.ini 去掉;extension=php_mysql.dll前面的分号;
3.extension_dir = "d:phpext (文件在PHP.INI中)。
你看看你的php.ini的配置找到
代码如下 | 复制代码 |
extension=php_mysql.dll |
我用的是apache,所以如果还这行的话,再看看主配置文件里的路径和引用都设置好了没有 PHPIniDir "PHP.INI的路径" 还要加一句 LoadModule*************的内容 这个网上都可以找得到。一般情况下到这里基本可以解决。
找到你的PHP根目录,找到两个文件 libmysql.dll和php5ts.dll 将之复制到system32下面。记住是PHP下面的。不是MYSQL
我们知道mssql不像php那样可以使用time哦,他生成的是时间格式DateTime这样就显示不对了,如下代码如下 | 复制代码 |
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC)) } 结果是 DateTime Object |
解决办法
第一个方法:php文档开头定义ini_set(”mssql.datetimeconvert”,0);
第二个方法:修改php.ini,找到;mssql.datetimeconvert = On ,去掉前面的分号,修改on为off。
第三个方法:只有把mssql的时间字段用convert函数转换成字符串。
比如 SELECT *,convert(char,datetime字段,120) as str_datetime FROM 表名
这个str_datetime就是字符串了。第三个参数为120,刚好是我们需要的格式 yyyy-mm-dd hh:ii:ss
PHPEXCEL是一个用来生成excel的php插件,他可以很方便的对excel数据进行操作,如:生成excel,修改excel数据等等。一、PHPEXCEL简介
PHPEXCEL提供了一系列的API,能够解析与生成excel,pdf之类的文档。
PHPEXCEL虽然强大,不过使用起来相对有些繁锁,如果需要输出较为复杂格式时,是一个不错的选择。可以到官方下载到源码。
二、PHPEXCEL部分函数
设置当前的工作簿,返回该工作簿对象:
$excelSheet = $excel->setActiveSheetIndex(0);
合并单元格,返回该单元格对象,以下示例即合并A列第一行与第二行所在单元格:
代码如下 | 复制代码 |
$excelSheet->mergeCells('A1:A2'); 设置单元格的值,参数:单元格名称,值: |
phpexcel用法介绍
代码如下 | 复制代码 |
include ‘PHPExcel.php’; include ‘PHPExcel/Writer/Excel2007.php’; //或者include ‘PHPExcel/Writer/Excel5.php’; 用于输出.xls的 创建一个excel $objPHPExcel = new PHPExcel(); 保存excel—2007格式 $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); //或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式 $objWriter->save(”xxx.xlsx”); 直接输出到浏览器 $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); header(”Pragma: public”); header(”Expires: 0″); header(”Cache-Control:must-revalidate, post-check=0, pre-check=0″); header(”Content-Type:application/force-download”); header(”Content-Type:application/vnd.ms-execl”); header(”Content-Type:application/octet-stream”); header(”Content-Type:application/download”);; header(’Content-Disposition:attachment;filename=”resume.xls”‘); header(”Content-Transfer-Encoding:binary”); $objWriter->save(’php://output’);
|
——————————————————————————————————————–
设置excel的属性:
代码如下 | 复制代码 |
创建人 $objPHPExcel->getProperties()->setCreator(”Maarten Balliauw”); 最后修改人 $objPHPExcel->getProperties()->setLastModifiedBy(”Maarten Balliauw”); 标题 $objPHPExcel->getProperties()->setTitle(”Office 2007 XLSX Test Document”); 题目 $objPHPExcel->getProperties()->setSubject(”Office 2007 XLSX Test Document”); 描述 $objPHPExcel->getProperties()->setDescription(”Test document for Office 2007 XLSX, generated using PHP classes.”); 关键字 $objPHPExcel->getProperties()->setKeywords(”office 2007 openxml php”); 种类 $objPHPExcel->getProperties()->setCategory(”Test result file”); ——————————————————————————————————————– 设置当前的sheet $objPHPExcel->setActiveSheetIndex(0); 设置sheet的name $objPHPExcel->getActiveSheet()->setTitle(’Simple’); 设置单元格的值 $objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘String’); $objPHPExcel->getActiveSheet()->setCellValue(’A2′, 12); $objPHPExcel->getActiveSheet()->setCellValue(’A3′, true); $objPHPExcel->getActiveSheet()->setCellValue(’C5′, ‘=SUM(C2:C4)’); $objPHPExcel->getActiveSheet()->setCellValue(’B8′, ‘=MIN(B2:C5)’); 合并单元格 $objPHPExcel->getActiveSheet()->mergeCells(’A18:E22′); 分离单元格 $objPHPExcel->getActiveSheet()->unmergeCells(’A28:B28′); |
三、PHPEXCEL举例应用
整个代码如下(值得注意的是表头用了$orderCellData记录了每个商户编号的顺序,为了在表体把对应的数据取出):
代码如下 | 复制代码 |
<<?php
require_once '../../../libs/PHPExcel/Classes/PHPExcel.php'; require_once '../../../libs/PHPExcel/Classes/PHPExcel/Writer/Excel5.php'; include_once '../../../libs/PHPExcel/Classes/PHPExcel/IOFactory.php'; include '../common/config.php'; // 创建一个处理对象实例(此对象对于2003 2007是相同的) $objExcel = new PHPExcel();
//设置属性(这段代码无关紧要,其中的内容可以替换为你需要的) $objExcel->getProperties()->setCreator("office 2003 excel"); $objExcel->getProperties()->setLastModifiedBy("office 2003 excel"); $objExcel->getProperties()->setTitle("Office 2003 XLS Test Document"); $objExcel->getProperties()->setSubject("Office 2003 XLS Test Document"); $objExcel->getProperties()->setDescription("Test document for Office 2003 XLS, generated using PHP classes."); $objExcel->getProperties()->setKeywords("office 2003 openxml php"); $objExcel->getProperties()->setCategory("Test result file");
//开始处理数据(索引从0开始) $objExcel->setActiveSheetIndex(0);
$conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']); mssql_select_db($config['mssql']['dbname'],$conn);
$tm=$_REQUEST['tm'];
$sql = "exec HNow05_getTTSpace '','".$tm."','',1"; $sql=mb_convert_encoding($sql,'GBK','UTF-8'); $res=mssql_query($sql);
$i=0; $k = array('站码','站名','河系','来报时间','水位','水势'); $count = count($k); $arrs = array('A','B','C','D','E','F'); //添加表头 for($i=0;$i<$count;$i++){ $objExcel->getActiveSheet()->setCellValue($arrs[$i]."1", "$k[$i]");
}
/*--------从数据库读取数据-------*/ $i=0; while($arr=mssql_fetch_array($res)) { $stcd = $arr["STCD"]; $stnm = $arr["STNM"]; $rvnm = $arr["RVNM"]; $tm= $arr["TM"]; $tdz= $arr["TDZ"]; $tdptn= $arr["TDPTN"]; if($tdptn=='6'){ $tdptn='平'; }else if($tdptn=='5'){ $tdptn='涨'; }else if($tdptn=='4'){ $tdptn='落'; }
$u1=$i+2; $stnm=iconv("GBK","utf-8",$stnm); $rvnm=iconv("GBK","utf-8",$rvnm); $tm=iconv("GBK","utf-8",$tm);
/*----------写入内容-------------*/ $objExcel->getActiveSheet()->setCellValue('a'.$u1, "$stcd"); $objExcel->getActiveSheet()->setCellValue('b'.$u1, "$stnm"); $objExcel->getActiveSheet()->setCellValue('c'.$u1, "$rvnm"); $objExcel->getActiveSheet()->setCellValue('d'.$u1, "$tm"); $objExcel->getActiveSheet()->setCellValue('e'.$u1, "$tdz"); $objExcel->getActiveSheet()->setCellValue('f'.$u1, "$tdptn");
$i++; }
/*----------设置单元格边框和颜色-------------*/ $rows = mssql_num_rows($res); for($i=0;$i<($rows+1);$i++){ for($j=0;$j<$count;$j++){ $a = $i+1; $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->getColor()->setARGB('FF00BBcc'); //水平居中 $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); } }
// 高置列的宽度 $objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); $objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20); $objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10); $objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
// 设置页眉和页脚。如果没有不同的标题奇数/即使是使用单头假定. $objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D'); $objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N');
// 设置页方向和规模 $objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); $objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
// 重命名表 $objExcel->getActiveSheet()->setTitle('实时潮汐情况');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet $objExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (Excel5)保存为excel2003格式 //设置Excel的名字 $excelName = '实时潮汐情况('.$tm.')'; //$excelName = 'Excel_'.date("YmdHis"); header('Content-Type: application/vnd.ms-excel'); header('Cache-Control: max-age=0'); header( 'Content-Disposition: attachment; filename='.iconv("utf-8", "GBK", $excelName).'.xls'); $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5'); $objWriter->save('php://output');
|
昨天在使用phpmyadmin连接mysql时出现了#2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置),但我利用php连接没有问题如
代码如下 | 复制代码 |
<?php |
后来想相MySQL数据库服务器的地址应该改成127.0.0.1,
具体方法:
打开我们刚才拷贝到phpMyAdmin目录下的config.inc.php 中
找到这句话:
代码如下 | 复制代码 |
$cfg['Servers'][$i]['host'] = 'localhost'; 改成 $cfg['Servers'][$i]['host'] = '127.0.0.1'; |
这样即可了 ,导致这个问题的原因我觉得应该是host文件解析有问题,大家处理一应该就好了。
php配置mysql与怎么测试配置数据库成功 有需要的朋友可参考一下。如果你是初次配置 php mysql apache的话,我们要怎么测试php连接数据库成功了,只要创建一个test.php文件,然后把下面代码保存到文件。
代码如下 | 复制代码 |
<?php |
在浏览器打开 http://localhost/test.php
如果输入
成功就说明你的配置成功了,如果失败我们可以在mysql_connect("localhost","root","12345") or die( mysql_error());这样就会有错误提示哦。
如果提示mysql_connect函数未定义,我们可以在php.ini中如下图
;extension=php_mysql.dll
;extension=php_mysqli.dll
把前面的;去了
extension=php_mysql.dll
extension=php_mysqli.dll
然后重启apache即可
相关文章
解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题
这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-28解决jquery插件:TypeError:$.browser is undefined报错的方法
首先先说一说$.browser browser就是用来获取浏览器基本信息的。 jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需...2015-11-24Pytorch 的损失函数Loss function使用详解
今天小编就为大家分享一篇Pytorch 的损失函数Loss function使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-02PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错
下面我们来看一篇关于PHP “Notice: Undefined variable” 和 “Notice: Undefined index”报错,希望这篇文章能够帮助到各位朋友,有兴趣的朋友可以进来看看吧。...2016-11-25PHP Notice: undefined index原因与解决办法
在php开发时可能会碰到如PHP Notice: undefined index这种错误提示,下面我来给大家介绍关于undefined index错误提示的解决办法。 如 $_GET['aa']; 就会出现PHP No...2016-11-25php提示 Warning: touch() [function.touch]: Utime failed: Permission denied in错误
在使用php程序时提示Warning: touch() [function.touch]: Utime failed: Permission denied in错误,下面一起来看看此问题的解决办法。 使用timthumb.php出现Warni...2016-11-25Warning: mssql_connect() [function.mssql-connect]:
我是这样做的,确定mssql是正常的用户名密码也可以,但下面就是不行。 <?php教程 $con=mssql_connect( "localhost", "sa ", "123456 ") or die ('error'); ?>...2016-11-25Java8通过Function获取字段名的方法(获取实体类的字段名称)
Java8通过Function获取字段名。不用再硬编码,效果类似于mybatis-plus的LambdaQueryWrapper,对Java8通过Function获取字段名相关知识感兴趣的朋友一起看看吧...2021-09-29Jquery attr("checked") 返回checked或undefined 获取选中失效
假设我们现在需要这样的场景:页面上有一个checkbox,我们期望通过Jquery来获得它是否选中,或者通过Jquery来让它被选中。 在JQ1.6之前的版本,我们会这样写我们的代码: 复制代码 代码如下: <input type='checkbox' id='cb'/>...2013-10-13php CURLOPT错误Warning: curl_setopt() [function.curl-setopt]:...
在我们使用php curl函数时提示Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir...2016-11-25- 这篇文章主要介绍了精读《Vue3.0 Function API》,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-20
php Fatal error: Call to undefined function imagecreatefromjpeg()
imagecreatefromjpeg函数是一个图像处理函数,但在使用中发现Fatal error: Call to undefined function imagecreatefromjpeg()错误了,下文小编整理了一些教程,大家一起来...2016-11-25php连接mysql提示Call to undefined function mysql_connect()
今天在windows中配置了php mysql环境,很高兴测试一段代码结果提示Call to undefined function mysql_connect()这证明数据库配置不成功哈。 代码如下 ...2016-11-25php提示Notice: Use of undefined constant错误
下面整理了在使用php时出现的Use of undefined constant错误的解决办法,因这关于提示Use of undefined constant错误是配置问题并不是程序错误,下面给大家整理一下解决...2016-11-25Warning: mssql_query() [function.mssql-query]:
Warning: mssql_query() [function.mssql-query]: message: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据...2016-11-25Call to undefined method DebugBar\\DebugBar::info()
我们看到英文Call to undefined method就知道是因为函数或方法没有定义了,这个对于插件就有可能是什么功能没有开启了,我们下面来看看Call to undefined method DebugBa...2016-11-25- 这篇文章主要介绍了Java8特性使用Function代替分支语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-09
iconv() [function.iconv]: Detected an illegal character in
本文章来给大家介绍iconv() [function.iconv]: Detected an illegal character in 错误的几种解决办法,有需要了解的朋友可参考。 用iconv函数将gb2312转换为utf-8...2016-11-25PHP Warning: implode() [function.implode]: Invalid
今天在做一个小的采集发布接口时发现使用implode函数老提示出错,但在网上找了一下解决不了,后来仔细看一原因是写法错误了,当然因这个问题也学了不少东西下面给各位整理...2016-11-25ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法
本文主要介绍ASP.NET MVC中使用@Helper和@functons自定义一些代码片段,方便视图调用,从而达到减少重复代码,快速开发的目的,希望对大家有所帮助。...2021-09-22