原因:
創(chuàng)新互聯(lián)公司于2013年開始,先為安仁等服務建站,安仁等地企業(yè),進行企業(yè)商務咨詢服務。為安仁企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
兩個mysql版本沖突
本地已經(jīng)有一個mysql服務(3306)默認開啟,再裝了phpstudy又會自帶一個mysqlla服務(3306)
phpstudy啟動后會啟動mysqlla 發(fā)現(xiàn)3306被占用,所以無法啟動。
解決:
打開cmd 卸載 原先的mysql 服務 sc delete mysql
再次點擊phpstudy,即可正常啟動phpstudy自帶的mysql了
其實錯誤信息已經(jīng)提示了錯誤的原因:
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given
警告:mysqli_select_db()的第1個參數(shù)應該是mysqli,而你給的是字符串
Warning: mysql_error() expects parameter 1 to be resource, object given in
警告:mysql_error()的第1個參數(shù)應該是個資源句柄,而你給的是個對象
據(jù)我的判斷,可能你沒有注意到這兩個函數(shù)的正確用法,以下是這兩個參數(shù)的原型:
bool mysqli_select_db ( mysqli $link , string $dbname )
string mysql_error ([ resource $link_identifier = NULL ] )
據(jù)此,建議代碼修改如下:
$db_selected=mysqli_select_db($link,"homework")
至于“警告:mysql_error()的第1個參數(shù)應該是個資源句柄,而你給的是個對象”,這個錯誤的原因,據(jù)我的判斷,你還需要檢查下 $link 是不是正確連接到mysql了。
問題一
今天給本本裝上mysql和php,一切安裝都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin連接測試時卻出現(xiàn)“#2002無法連接”的錯誤,用其它程序也是同樣問題。
檢查了下,php的mysql擴展正確安裝,mysql服務正常啟動--那就奇了怪了。又用navicat連接,居然連上了。。看來是php和mysql間的通訊出了問題。
百度了一下,問題被揪出來了:
mysql_connect()函數(shù)數(shù)據(jù)庫服務器(server)參數(shù)當前設置為localhost,但當其更改為127.0.0.1后又可以正常訪問。
系統(tǒng)hosts文件未提供127.0.0.1到localhost的解析。
解決方法(以win7系統(tǒng)為例):找到C:\Windows\System32\drivers\etc\hosts文件,默認為只讀,你需要復制一份到其他路徑如桌面,打開文件(打開方式:記事本),在文件末尾添加:
127.0.0.1 localhost
如果已存在去掉其前面的“#”。
問題二
php腳本可以正常運行,如phpinfo()。
只要一出現(xiàn)“mysql_connect”函數(shù),就沒反應,也不報錯。
如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL數(shù)據(jù)庫連接失敗:".mysql_error());
apache日志目錄error.log中出現(xiàn)
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'
解決辦法
將“l(fā)ibmysql.dll”復制到apache的bin目錄下。然后重啟,觀察error.log,如果錯誤消失,那恭喜了。
另:網(wǎng)上資料也有說將““l(fā)ibmysql.dll””“php_mysql.dll”復制到windows/system32的。