当前位置:首页 » 数据仓库 » php无法加载mysql数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

php无法加载mysql数据库

发布时间: 2022-11-15 14:57:42

① PHP无法连接Mysql数据库Fatal error: Call to undefined function mysql_connect()

先用phpinfo();看一下是否支持mysql。
要是没有,还是配置有问题。
Loaded
Configuration
File
看看php.ini是读哪个路径下的
php.ini
里extension

php_mysql.dll前的分号已经去掉了,extension_dir
=
"X:/php/ext"也改为了自己ext文件夹的路径,libmysql.dll和php5ts.dll也复制到Windows目录下的
system32
文件夹下

② php无法向mysql数据库中添加数据怎么办

你可以先在mysql里面执行一遍sql语句,看下能不能添加数据,先检查语句有没有问题,再看程序上的问题

③ PHP就是不加载mysql

LZ,我觉得你应该清洁一下,把现在有关的都删除吧~!安装PHP,不用拷文件拷来拷去的~!一个也不用!我从来都是这样装,从来没拷过什么libmysql.dll到system32下,这个真的不需要。
首先,还是看一下php的INSTALL.TXT吧。
我的是APACHE环境,PHP.ini在原来的PHP目录里,在httpd.conf加入
# For PHP 5 do something like this:
LoadMole php5_mole "C:/Program Files/Apache Software Foundation/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/Program Files/Apache Software Foundation/php5"

----
最后,记得改php.ini里的ext的目录。不要什么./ext这样的,要全路径。比如C:/Program Files/Apache Software Foundation/php5/ext
还有,打开mysql模块,也不需要mysqli,这是两个不同的模块。mysqli是mysql improved增强型模块(其实就是类操作而已)

-------------
我觉得你现在的工作应该是清洁你的电脑,不要让C:\windows\里有什么libmysql.dll之类的东西

④ PHP无法加载MySQL

昨天配置IIS + PHP + MYSQL 又弄了很久。
主要是 PHP 加载 mysql总是加载不上,出现:Fatal error: call to undefined function mysql_connect()意思是没有定义mysql_connect函数,即PHP没有加载mysql模块。
后来终于瞎弄弄出来了。记录一下。

前置条件:mysql正确安装到系统上。
1、下载PHP安装文件并解压缩到C:\PHP中,设置EVERYONE 权限可读写,或者设置internet来宾账号权限可读写(IUSR_账号)
2、将目录下的 php.ini-dist 文件复制一份并修改文件名为 php.ini。
3、用记事本打开php.ini,修改PHP的参数,具体的参数应用我在后面附有。现在主要修改几个地方:register_globals = OFF 改成 ON
??? 将 extension_dir = "./" 改成 你php里EXT文件夹的路径,现在我的是 extension = "C:\PHP\EXT"
??? 分别将 extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mcrypt.dll,extension=php_mysql.dll,extension=php_mysqli.dll 前的分号去掉。
4、将c:\php\ext 中的 php_mysql.dll,php_mysqli.dll,libmcrypt.dll,libmysql.dll? 和 c:\php 中的 php5ts.dll拷贝到c:\windows\system32 下
5、增加ISAPI扩展 : internet 信息服务(IIS)-》网站-》属性-》主目录-》配置-》映射-》缓存ISAPI扩展 添加,扩展名填写为:php, 可执行文件路径选择c:\php\php5isapi.dll,其他的默认就好。确定。在Web服务扩展里设置“所有未知ISAPI扩展”为允许
6、重启IIS
7、某些IIS可能会发神经,如果不放心,在web服务扩展里再添加一个新的web服务扩展,文件路径指向 c:\php\php5isapi.dll,设置为允许。

php.ini常用设置参数
关闭/打开全局变量?? register_globals = off/on
关闭/打开防SQL注入? magic_quotes_gpc = off/on? 强烈建议打开; $_POST,$_GET,$_COKIE提交变量中如果有单引号,双引号,反斜线和空字符时都会加上反斜杠进行转义,提高PHP的安全性。
关闭/打开错误提示?? display_errors = off/on? 网站发布时建议关闭
关闭/打开安全模式?? safe_mode = off/on 里面包含重要的内嵌的安全机制,能控制一些PHP中的函数,如system()等函数,建议开启

设置上传文件大小
? file_uploads = on ; 默认是打开的
? upload_max_filesize = 2M? 上传文件最大是2M
? post_max_size = 10M ?
? 当post_max_size 大于 upload_max_filesize 时,upload_max_filesize 不起作用
启用allow_url_fopen
?? allow_url_fopen = on ; 采集时要打开

⑤ PHP无法连接mysql

用户名密码不对。
如果你是在本地测试,有数据库管理权限,可以查看下有没有 bookhbw这个用户
select * from mysql.user
如果没有可以新建用户,或者在代码里直接使用root账户及密码连接(测试环境无所谓,如果是正式环境,一定要单独建一个用户,分配对应数据库的权限 )
-- 创建用户
create user bookhbw@'localhost' identified by '密码';
-- 授权用户指定的数据库权限
GRANT ALL PRIVILEGES ON 数据库名.* TO 'bookhbw'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
如果你的数据库中已经有这个账户,看下这个账户设置的Host 是localhost还是ip 还是 %
如果是ip 或者 % 则连接的服务器地址只能写ip 不能写localhost (可以新建一个同名用户绑定localhost)
以上情况,你根据自己的软件 配置,自行设置一下

⑥ php无法打开mysql数据库

其实错误信息已经提示了错误的原因:

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given
警告:mysqli_select_db()的第1个参数应该是mysqli,而你给的是字符串

Warning: mysql_error() expects parameter 1 to be resource, object given in
警告:mysql_error()的第1个参数应该是个资源句柄,而你给的是个对象

据我的判断,可能你没有注意到这两个函数的正确用法,以下是这两个参数的原型:

bool mysqli_select_db ( mysqli $link , string $dbname )
string mysql_error ([ resource $link_identifier = NULL ] )

据此,建议代码修改如下:

$db_selected=mysqli_select_db($link,"homework")

至于“警告:mysql_error()的第1个参数应该是个资源句柄,而你给的是个对象”,这个错误的原因,据我的判断,你还需要检查下 $link 是不是正确连接到mysql了。

⑦ 我用php为什么连接不到mysql数据库

你把你自己的数据库名字改掉啊,你现在用了LILI,把数据库名也要这样改的,有密码也要改啊。代码如下:
<?php
$conn=@
mysql_connect("localhost","lili","这里填密码,没有就空,有就写")or
die("失败");
$jkl=
mysql_select_db("lili");
if
($jkl)
echo"ok";
?>
都在上面了,自己看看吧。。

⑧ PHP环境下无法添加数据到mysql数据库

新版本的MySQL对字段的严格检查,不允许有空的字段插入(就是说表中本来有三个字段,但是你在用insert插入时,语句里面只给两个字段插入数据,对另外一个字段忽略或者
直接为空都不行)。
修改my.ini,将
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_...
改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重新启动MySQL。谢谢采纳

⑨ php中mysql启动不起来

问题:
安装好phpstudy后,Apache可以启动,Mysql无法启动。
原因:
之前已经装过Mysql,要把系统服务里面的MySQL删除,留下MySQL服务。
解决办法:
在cmd命令行下输入:sc delete mysql即可删除mysql服务。
当我们在cmd里使用 sc delete 服务名,来删除服务的时候,报错误,SC OpenService 失败5:拒绝访问,这似乎是因为权限不够。
解决方法:
第一步、我们必须先取得管理员权限,以管理员权限运行cmd.exe。
第二步、在输入命令:sc delete 要删除的服务名

phpstudy中apache或mysql无法启动
phpstudy中apache或mysql无法启动,启动一下没了
明显端口被占用了,假如我们需要确定谁占用了我们的80端口,3306端口
对网站来说,网络apatche服务器是默认 80,数据库mysql是3306
端口占有两种解决方法:
法1:把被占用的 进程结束掉 (如果你没装iis的话,也就是 你把能关的软件都关闭 尤其迅雷什么的)
法 2:改apatche 的端口
具体如下:
----------------------------------------
法一、如何查看某个端口被谁占用,把被占用的 进程结束掉

我们在启动应用的时候经常发现我们需要使用的端口被别的程序占用,但是我们又不知道是被谁占用,这时候我们需要找出“真兇”,如何做到呢?

方法/步骤
第一步:开始---->运行---->cmd,或者是window+R组合键,调出命令窗口

第二步:输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它。

(对网站来说,网络apatche服务器是默认 80,数据库mysql是3306)

第三步:查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720
第四步:有两种方法
1..续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe

2..
或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:

则我们点击[查看]--->[选择列],将PID(进程标示符)前面的勾打上,点击确定。

这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。

第五步:结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。

-------------------------------------------------------------------------
法二:phpstudy修改端口

phpstudy控制面板中,点击 其他选项

:将端口改为 8080
但需要注意,修改端口后,在输入网址的时候,要带着端口
如:(注意有冒号)
localhost:8080
localhost:8080/zz/index.php