Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Windows7上使用PHP连接到MySQL_Php_Mysql_Windows 7 - Fatal编程技术网

无法在Windows7上使用PHP连接到MySQL

无法在Windows7上使用PHP连接到MySQL,php,mysql,windows-7,Php,Mysql,Windows 7,我已经在Windows7上手动设置了一个wamp服务器,安装了Apache2.4.23、PHP5.6.29和MYSQL服务器5.5。每次我尝试连接MySQL时,都会出现以下错误: 致命错误:调用未定义的函数mysql\u connect 我尝试了以下stackoverflow解决方案,但在c:\PHP中找不到任何libmysql.dll,也没有将PHP_mysql.dll从c:\PHP复制到c:\Windows\System32,这是有成效的: myphpinfo()的输出 我还查看了Apa

我已经在Windows7上手动设置了一个wamp服务器,安装了Apache2.4.23、PHP5.6.29和MYSQL服务器5.5。每次我尝试连接MySQL时,都会出现以下错误:

致命错误:调用未定义的函数mysql\u connect

我尝试了以下stackoverflow解决方案,但在c:\PHP中找不到任何libmysql.dll,也没有将PHP_mysql.dll从c:\PHP复制到c:\Windows\System32,这是有成效的:

my
phpinfo()的输出

我还查看了Apache中的错误日志文件:

Installing Apache HTTP Server 2.x with
 DomainName    = example.com
 ServerName    = www.example.com
 ServerAdmin   = admin@example.com
 ServerPort    = 80
 ServerSslPort = 443
 ServerRoot    = c:/Apache24
Rewrote docs/conf/extra/httpd-autoindex.conf.in
 to c:/Apache24/conf/original/extra/httpd-autoindex.conf
Rewrote docs/conf/extra/httpd-default.conf.in
 to c:/Apache24/conf/original/extra/httpd-default.conf
Rewrote docs/conf/extra/httpd-ssl.conf.in
 to c:/Apache24/conf/original/extra/httpd-ssl.conf
Rewrote docs/conf/extra/httpd-multilang-errordoc.conf.in
 to c:/Apache24/conf/original/extra/httpd-multilang-errordoc.conf
Rewrote docs/conf/extra/httpd-info.conf.in
 to c:/Apache24/conf/original/extra/httpd-info.conf
Rewrote docs/conf/extra/httpd-userdir.conf.in
 to c:/Apache24/conf/original/extra/httpd-userdir.conf
Rewrote docs/conf/extra/httpd-mpm.conf.in
 to c:/Apache24/conf/original/extra/httpd-mpm.conf
Rewrote docs/conf/httpd.conf.in
 to c:/Apache24/conf/original/httpd.conf
Rewrote docs/conf/extra/proxy-html.conf.in
 to c:/Apache24/conf/original/extra/proxy-html.conf
Rewrote docs/conf/extra/httpd-vhosts.conf.in
 to c:/Apache24/conf/original/extra/httpd-vhosts.conf
Rewrote docs/conf/extra/httpd-dav.conf.in
 to c:/Apache24/conf/original/extra/httpd-dav.conf
Rewrote docs/conf/extra/httpd-languages.conf.in
 to c:/Apache24/conf/original/extra/httpd-languages.conf
Rewrote docs/conf/extra/httpd-manual.conf.in
 to c:/Apache24/conf/original/extra/httpd-manual.conf
Duplicated c:/Apache24/conf/original/extra/httpd-autoindex.conf
 to c:/Apache24/conf/extra/httpd-autoindex.conf
Duplicated c:/Apache24/conf/original/extra/httpd-default.conf
 to c:/Apache24/conf/extra/httpd-default.conf
Duplicated c:/Apache24/conf/original/extra/httpd-ssl.conf
 to c:/Apache24/conf/extra/httpd-ssl.conf
Duplicated c:/Apache24/conf/original/extra/httpd-multilang-errordoc.conf
 to c:/Apache24/conf/extra/httpd-multilang-errordoc.conf
Duplicated c:/Apache24/conf/original/extra/httpd-info.conf
 to c:/Apache24/conf/extra/httpd-info.conf
Duplicated c:/Apache24/conf/original/extra/httpd-userdir.conf
 to c:/Apache24/conf/extra/httpd-userdir.conf
Duplicated c:/Apache24/conf/original/extra/httpd-mpm.conf
 to c:/Apache24/conf/extra/httpd-mpm.conf
Duplicated c:/Apache24/conf/original/httpd.conf
 to c:/Apache24/conf/httpd.conf
Duplicated c:/Apache24/conf/original/magic
 to c:/Apache24/conf/magic
Duplicated c:/Apache24/conf/original/charset.conv
 to c:/Apache24/conf/charset.conv
Duplicated c:/Apache24/conf/original/extra/proxy-html.conf
 to c:/Apache24/conf/extra/proxy-html.conf
Duplicated c:/Apache24/conf/original/extra/httpd-vhosts.conf
 to c:/Apache24/conf/extra/httpd-vhosts.conf
Duplicated c:/Apache24/conf/original/extra/httpd-dav.conf
 to c:/Apache24/conf/extra/httpd-dav.conf
Duplicated c:/Apache24/conf/original/mime.types
 to c:/Apache24/conf/mime.types
Duplicated c:/Apache24/conf/original/extra/httpd-languages.conf
 to c:/Apache24/conf/extra/httpd-languages.conf
Duplicated c:/Apache24/conf/original/extra/httpd-manual.conf
 to c:/Apache24/conf/extra/httpd-manual.conf

我对如何解决这个问题束手无策。另外,libmysql.dll的用途是什么?是否有任何安装顺序可以让它正常运行(我安装了apache,最后安装了php和mysql)?提前谢谢

很可能您正在将代码从旧站点复制到新版本的PHP。代码
mysql\u connect
在PHP5.5中被弃用,在PHP7.0中被删除。您还需要确保PHP是使用MySQL支持编译的

解决方案1:检查是否支持MySQL

使用上面的链接确定PHP是否使用MySQL支持编译。若并没有,那个么继续并使用适当的支持(PDO和MySQL)重新安装PHP或WAMP

解决方案2:降级PHP

如果问题与被弃用的
mysql\u connect
和相关
mysql\u
函数有关,您可以通过调整工具栏设置中使用的PHP版本,将WAMP安装中的PHP版本更改为早于7.0的版本。请注意,对于5.5和7.0之间的版本,根据显示的错误(可以在php.ini中进行调整),错误日志和代码输出中仍可能会出现不推荐使用的函数警告

解决方案3:修复代码


不管上述情况如何,最好的解决方案是升级PHP代码,使其不使用不推荐的
mysql\u connect
mysql\u query
和其他相关的传统mysql函数。根据代码的大小,这可能是一个很短或很长的过程。但是,考虑这么做是很重要的,因为旧的<代码> MySQL函数有几个安全漏洞,例如SQL注入,如果您不花时间升级代码,您的网站可能容易受到黑客攻击。

您尝试过使用<代码> mySQLII连接/查询的可能副本吗?您没有发布任何php/mysql代码,所以很难说。我将很快尝试我的代码的mysqli版本。我尝试了一个简单的连接脚本,使用mysql_connect($host“,$username“,$password”),然后是mysql_select_db($db_name”),在我以前的XP机器上运行得很好,我在那里用PHP5.2.5部署了wamp服务器。这也可能是一个权限问题。你试过当管理员吗?如果你还没有。Win7这样可能会很敏感。你说你是手动安装的;您应该尝试卸载并选择自动安装,如果使用了32,请选择正确的安装;如果使用64位系统,请使用64位。不推荐使用表示不再支持或建议使用该系统,并将发出警告(但仍应运行)。您是对的,它应该仍然在PHP5.6.29中工作。“到7.0之前的版本”-OP的PHP版本是5.6.29好的,那么您可能仍然会收到关于mysql_connect被弃用的警告。尝试5.5之前的版本(如果您使用的是解决方案1,并且安全性不是一个很大的威胁),在phpinfo()页面中,它没有显示任何关于MySQL甚至MySQLi的内容。它显示的只是“mysqlnd”。这意味着mysqli也不能工作,也就是说,这个PHP版本不支持它@1.纠正错误。所以,您需要重新安装WAMP,并确保包含PDO和MySQL支持。我如何确保@伊斯塔基