十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
原因:
创新互联公司于2013年开始,先为安仁等服务建站,安仁等地企业,进行企业商务咨询服务。为安仁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
两个mysql版本冲突
本地已经有一个mysql服务(3306)默认开启,再装了phpstudy又会自带一个mysqlla服务(3306)
phpstudy启动后会启动mysqlla 发现3306被占用,所以无法启动。
解决:
打开cmd 卸载 原先的mysql 服务 sc delete mysql
再次点击phpstudy,即可正常启动phpstudy自带的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了。
问题一
今天给本本装上mysql和php,一切安装都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin连接测试时却出现“#2002无法连接”的错误,用其它程序也是同样问题。
检查了下,php的mysql扩展正确安装,mysql服务正常启动--那就奇了怪了。又用navicat连接,居然连上了。。看来是php和mysql间的通讯出了问题。
百度了一下,问题被揪出来了:
mysql_connect()函数数据库服务器(server)参数当前设置为localhost,但当其更改为127.0.0.1后又可以正常访问。
系统hosts文件未提供127.0.0.1到localhost的解析。
解决方法(以win7系统为例):找到C:\Windows\System32\drivers\etc\hosts文件,默认为只读,你需要复制一份到其他路径如桌面,打开文件(打开方式:记事本),在文件末尾添加:
127.0.0.1 localhost
如果已存在去掉其前面的“#”。
问题二
php脚本可以正常运行,如phpinfo()。
只要一出现“mysql_connect”函数,就没反应,也不报错。
如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL数据库连接失败:".mysql_error());
apache日志目录error.log中出现
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'
解决办法
将“libmysql.dll”复制到apache的bin目录下。然后重启,观察error.log,如果错误消失,那恭喜了。
另:网上资料也有说将““libmysql.dll””“php_mysql.dll”复制到windows/system32的。