undefined function mysql_connect
在 windows 下安装 php教程 时, 为了避免配置文件混乱,将安装目录下的 php.ini 复制到 windows 目录下之后,应该将原来安装目录下的 php.ini 文件重命名或删除,以免造成在不同环境下执行时,查找配置文件不一致的情况发生
fatal error: undefined function mysql_connect()
环境: windows 2003, php 5.2.0, mysql 5.0, apache 2.0
在 php.ini 中, 已经将 php_mysql.dll 的模块选项给打开了;测试的脚本也很简单,就一个 mysql_conect 函数,内容如下:
复制代码 代码如下:
php.ini:
extension=php_mysql.dll
测试脚本 test.php 内容如下:
text.php
<?
if ( !mysql_connect(dbhost, dbuser,dbpwd) )
{
echo "连接失败!";
exit;
}
echo "连接成功!t";
?>
用 web 方式调用 http://localhost/test.php, 执行正常, 显示"连接成功".
但用 dos command 命令行的方式调用 d:/php/php.exe test.php 却显示连接失败, 错误信息为: fatal error: undefined function mysql_connect()
很显然, 在 dos command 命令行的环境下,mysql 的模块没有被调用。方法弄尽, 仍无法解决. 百思不得其解. 后来, 用写了个脚本, 看看 php 的配置, 在两个环境下有什么不同:
test.php
复制代码 代码如下:
<?
echo phpinfo();
?>
仔细查看两个环境下 phpinfo() 输入的 php 配置信息,终于发现了问题所在:
web 方式 http://localhost/test.php 方式调用时, 其 configuration file (php.ini) path 显示为 c:windowsphp.ini。
dos command 命令行方式 d:/php/php.exe test.php 调用时, 其 configuration file (php.ini) path 为 d:phpphp.ini。
而在 c:windows 和 d:php 目录下, 都存在一个 php.ini 文件,d:php 目录下的 php.ini 没有将 extension=php_mysql.dll 模块打开.于是将 d:phpphp.ini 删除,只保留 c:windowsphp.ini,问题解决.
php教程连接mssql 2005 1.下载以下两个文件,放入php ext目录及system32
php_sqlsrv_52_ts_vc6.dll (线程安全)
php_sqlsrv_52_nts_vc6.dll (非线程安全)
vc6用于apache,vc9用于iis
2.修改php.ini
extension=php_sqlsrv_52_ts_vc6.dll
3.下载sqlncli.msi,微软官方可以下
安装的时候提示是sql server 2008的,不过2005也是可以用的。
4.测试代码
<?php
$servername = "127.0.0.1";
$connectioninfo = array("database"=>"testdb","uid"=>"test","pwd"=>"test");
$conn = sqlsrv_connect($servername, $connectioninfo);if($conn) {
echo "connection established.<br>";
} else {
echo "connection could not be established.<br>";
die(print_r(sqlsrv_errors(), true));
exit();
}$sql = "select * from t_employee";
$result = sqlsrv_query($conn,$sql);
$data = array();
while($row=sqlsrv_fetch_array($result)) {
$data[] = $row;
}foreach($data as $p) {
echo $p['name']."<br>";
}sqlsrv_close($conn);
echo "<br> done <br>";
echo date("y-m-d h:i:s");?>
mysql教程连接类
class db_handle {
var $classname = "db_handle";
var $server;
var $username;
var $password;
var $database;
var $linkid = 0;
var $queryresult = "";
var $lastinsertid = "";
/* private ignore=>ignore the error and continue, halt=>report the error and halt, report=>report the error and continue */
var $halt_on_error = "report";
var $error = "";
var $errno = 0;
/**public
* remark: this is the db_mysql_class's structure
* function: set the server,username,password,database variable.
*/
function db_handle($server = "", $username = "", $password = "", $database = "") {
$this->server = $server;
$this->username = $username;
$this->password = $password;
$this->database = $database;
}
/**public
* function: connect database and select database
* success: retun 1
* failed: return 0
*/
function connect() {
$this->linkid = @mssql_pconnect ( $this->server, $this->username, $this->password );
if (! $this->linkid) {
$this->halt ( "mssql_pconnect($this->server,$this->username,$this->password): failed" );
return 0;
}
if (! @mssql_select_db ( $this->database )) {
$this->halt ( "mssql_select_db($this->database) failed." );
return 0;
}
return 1;
}
/**public
* function: check the database, if exist then select
* exist: return 1
* not exist: return 0
*/
function selectdatabase() {
if (@mssql_select_db ( $this->database ))
return 1;
else
return 0;
}
/**public
* function: execute sql instruction
* success: return sql result.
* failed: return 0;
*/
function execquery($sql = "") {
$this->connect();
if ($this->linkid == 0) {
$this->halt ( "execute sql failed: have not valid database connect." );
return 0;
}
ob_start ();
$this->queryresult = mssql_query ( $sql, $this->linkid );
$error = ob_get_contents ();
ob_end_clean ();
if ($error) {
$this->halt ( "execute sql: mssql_query($sql,$this->linkid) failed." );
return 0;
}
$reg = "#insert into#";
if (preg_match ( $reg, $sql )) {
$sql = "select @@identity as id";
$res = mssql_query ( $sql, $this->linkid );
$this->lastinsertid = mssql_result ( $res, 0, id );
}
return $this->queryresult;
}
/**public
* function: get the query result's row number
* success: return the row fo the result
* failed: return 0
*/
function gettotalrownum($result = "") {
if ($result != "")
$this->queryresult = $result;
$row = @mssql_num_rows ( $this->queryresult );
if ($row >= 0)
return $row;
$this->halt ( "get a row of result failed: result $result is invalid." );
return 0;
}
/**public
* function: get the last insert record's id
* success: return id
* failed: return 0
*/
function lastinsertid() {
return $this->lastinsertid;
}
/**public
* function: get a field's value
* success: return value of the field
* failed: return 0
*/
function getfield($result = "", $row = 0, $field = 0) {
if ($result != "")
$this->queryresult = $result;
$fieldvalue = @mssql_result ( $this->queryresult, $row, $field );
if ($fieldvalue != "")
return $fieldvalue;
$this->halt ( "get field: mssql_result($this->queryresult,$row,$field) failed." );
return 0;
//here should have error handle
}
/**public
* function: get next record
* success: return a array of the record's value
* failed: return 0
*/
function nextrecord($result = "") {
if ($result != "")
$this->queryresult = $result;
$record = @mssql_fetch_array ( $this->queryresult );
if (is_array ( $record ))
return $record;
//$this->halt("get the next record failed: the result $result is invalid.");
return 0;
}
/**public
* function: free the query result
* success return 1
* failed: return 0
*/
function freeresult($result = "") {
if ($result != "")
$this->queryresult = $result;
return @mssql_free_result ( $this->queryresult );
}
/**public
* function: set the halt_on_error's state
* success: return 1
* failed: return 0
*/
function sethaltonerror($state = "ignore") {
if (! ($state == "ignore" || $state == "report" || $state == "halt")) {
$this->halt ( "set the halt_on_error fail: there is no state value $state" );
return 0;
}
$this->halt_on_error = $state;
return 1;
}
/**public
* function: get the halt_on_error's state
*/
function gethaltonerror() {
return $this->halt_on_error;
}
/**public
* function: get the class's name
*/
function tostring() {
return $this->classname;
}
/**private
* function: error handle
*/
function halt($msg) {
$this->error = @mysql_error ( $this->linkid );
$this->errno = @mysql_errno ( $this->linkid );
if ($this->halt_on_error == "ignore")
return;
$this->makemsg ( $msg );
if ($this->halt_on_error == "halt")
die ( "session halted" );
}
/**private
* function: make error information and print
*/
function makemsg($msg) {
printf ( "database error: %sn", $msg );
printf ( "mysql error: %s (%s)n", $this->errno, $this->error );
}
}
操作时点击删除连接时就会会获取到当前条目的id然后程序获取到当前id进行删除操作。
<?php教程
include("conn.php");
$query = "select * from new order by id desc";
$res = mysql教程_query($query);
while($rows =mysql_fetch_array($res)){ //将查询到结果拆到$rows数组中
?>
<table>
<tr>
<td>标题:<?php echo$rows['title']?></td><td><a href="del.php?<?php $tid = $rows['id'] ?>">[删除]</a></td><td><a href="">[修改]</a></td>
</tr>
<table>
<?php
}
?>
<form action="addnews.php" method="post">
作者:<input type="text" name="author"/><br/><br/>
标题:<input type="text" name="title" size="20"><br/><br/>
内容:<textarea name="content" cols="20" rows="20"></textarea>
<input type="submit" value="提交" name="submit"/>
</form>
del.php代码
<?php
$del = "delect from test where id in ($tid)";
$res = mysql_query($del);
if($res){
echo "删除成功";
}else{
echo "删除失败";
}
?>
php教程 intval的取值范围:与操作系统相关,32位系统上为-2147483648到2147483647,64位系统上为-9223372036854775808到9223372036854775807。
mysql教程 int取值范围:与操作系统无关,为-2147483648到2147483647,无符号为0到4294967295。
mysql bigint取值范围:与操作系统无关,为-9223372036854775808到9223372036854775807,无符号为0到18446744073709551615。
我一直是使用mysql教程这个数据库教程软件,它工作比较稳定,效率也很高。在遇到严重性能问题时,一般都有这么几种可能:
1、索引没有建好;
2、sql写法过于复杂;
3、配置错误;
4、机器实在负荷不了;
1、索引没有建好
如果看到mysql消耗的cpu很大,可以用mysql的client工具来检查。
在linux下执行
/usr/local/mysql/bin/mysql -hlocalhost -uroot -p
输入密码,如果没有密码,则不用-p参数就可以进到客户端界面中。
看看当前的运行情况
show full processlist
可以多运行几次
这个命令可以看到当前正在执行的sql语句,它会告知执行的sql、数据库名、执行的状态、来自的客户端ip、所使用的帐号、运行时间等信息
在我的cache后端,这里面大部分时间是看不到显示任何sql语句的,我认为这样才算比较正常。如果看到有很多sql语句,那么这台mysql就一定会有性能问题
相关文章
mysql_connect与mysql_pconnect的区别详解
在mysql中我们会看到有两种常用的数据库连接模式,一种是长久连接,另一各是页面访问完之后就断了连接,下面我来分别介绍mysql_connect与mysql_pconnect的区别,有需要了解...2016-11-25解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题
这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-28php cURL https链接报错:Unknown SSL protocol error in connection to
cURL在php中用到的比较多了我们通常把它用于采集访问或数据模拟提交上了,但在用到https时我们使用常用的办法会提示报错:Unknown SSL protocol error in connection to...2016-11-25解决Docker中的error during connect异常情况
这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-22解决ORA-12170:TNS connect timeout occurred问题
这篇文章主要介绍了解决ORA-12170:TNS connect timeout occurred问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11解决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-13解决PHPMailer错误SMTP Error: Could not connect to SMTP host的办法
PHPMailer发邮件时提示SMTP Error: Could not connect to SMTP host错误是smtp服务器的问题我们一起来看看关于SMTP Error: Could not connect to SMTP host问题的解...2016-11-25- socket_connect函数在php默认安装是不给支持的,如果要使用它我们需要在php.ini中进行简单的开启,下面我们一起来看看吧。 linux系统中开启socket_connect方法 #cd /...2016-11-25
php 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-25