配置環境如下。
apache_2.2.6
mysql server 5.5
php-php-5.2.3-win32
phpMyAdmin-3.4.3.2-all-languages
windows 32位
新手,初學php,學到要串連mysql了。出現問題, 搜尋了網上所有方法都無解,有點挫敗,軟體都配置不好,接下來怎麼走下去啊。
1.用語句測試連接sql。結果顯示空白頁,起初顯示網頁錯誤,mysql啟動後,就只顯示空白頁了。
if($dbc=mysql_connect('localhost', 'username','password'))
echo($dbc)
echo(Successfully connected to mysql!)
mysql_close();
}else{
echo(failed!)
2.phpMyAdmin 安裝配置,起初打不開網頁,後來發現應該把它放到儲存我編寫的php目錄下,可是又顯示 :缺少mysqli擴充。
這兩樣解決不了,我不知道怎麼繼續php學習下去。很煩惱。求高人指點。
首先,對於第一步,php的配置中,所有dll檔案的複製,還有php.ini中的冒號去掉之類,我能確保沒錯了,都檢查好幾遍了。
第二布中,對於config.ini.php中的使用者名稱,密碼之類的改動,我也妥妥的沒錯了。
可還是出這個問題啊 。求高人指點啊,我實在是無轍了。
話說,你們當初是php新手時也遇到這麼多問題咩?裝個軟體都不成功,太挫敗一個誓學php的女生的積極性啦!
回複討論(解決方案)
你運行phpinfo有mysqli嗎?
開啟php.ini設定
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到錯誤資訊了
女生... ...姑且不論這個.
要來學編程就不要管自己有沒把子。
像樓上一樣開啟錯誤,然後輸出
echo phpinfo();
看看什麼情況。
$link = mysql_connect('localhost', 'username','password') or die('Faild connected to mysql!');
echo(Successfully connected to mysql!);
$link = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
// 另外,你的dbuser是username、dbpass是password?還是?
你運行phpinfo有mysqli嗎?
哦,我運行時候,沒有現在mysql和mysqli的任何資訊。 可是在運行中用命令可以啟動mysql,啟動後phpinfo中也沒有mysql的資訊。
女生... ...姑且不論這個.
要來學編程就不要管自己有沒把子。
像樓上一樣開啟錯誤,然後輸出
echo phpinfo();
看看什麼情況。
恩,批評的對,那句話想修改發現改不了了。
很慚愧,網上搜羅各種方法還是無法解決,所以有點躁嬌了。謝謝批評。
開啟php.ini設定
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到錯誤資訊了
這兩項我都設定過了。
引用 2 樓 moocky 的回複:
開啟php.ini設定
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到錯誤資訊了
這兩項我都設定過了。
按我說的做,把錯誤打出來
引用 8 樓 luoyinqq 的回複:
引用 2 樓 moocky 的回複:
開啟php.ini設定
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到錯誤資訊了
這兩項我都設定過了。
按我說的做,把錯誤打出來
就照你做的設定了。沒有錯誤啊。 頁面還是空白。
並且發現,下載了wamesever想省事,發現上面的phpMyAdmin也是無法擴充mysqli
改完了之後,重啟一下webserver,phpinfo看一下這兩項的設定是否和你改的一樣,如果一樣,說明修改成功了,那麼錯誤應該是可以顯示的出來的
引用 1 樓 piaolankeke 的回複:
你運行phpinfo有mysqli嗎?
哦,我運行時候,沒有現在mysql和mysqli的任何資訊。 可是在運行中用命令可以啟動mysql,啟動後phpinfo中也沒有mysql的資訊。
phpinfo中沒有mysql和mysqli的模組,證明你就沒有把mysql配置到php中啊。環境都沒配置好,怎麼連資料庫?
你到底是想擴充mysql何mysqli啊,你乾脆把php.ini中的mysql和mysqli的都開啟吧,如果都開啟了還是這樣那就是你的使用者名稱或密碼有問題了
引用 1 樓 piaolankeke 的回複:
你運行phpinfo有mysqli嗎?
哦,我運行時候,沒有現在mysql和mysqli的任何資訊。 可是在運行中用命令可以啟動mysql,啟動後phpinfo中也沒有mysql的資訊。
沒有資訊就是沒有連結上,命令列中可以啟動mysql沒啥關係的,那隻是說你具備了資料庫的環境,不過這橋還沒搭好,上面說了 檢查你的那兩個dll檔案是不是正常的存在你的ext檔案夾裡.另外php.ini檔案是不是正確的進行了設定.其次最後是 apache 裡的 php.ini檔案路徑是否正確的設定到當前的php目錄.
引用 3 樓 phpnewnew 的回複:
女生... ...姑且不論這個.
要來學編程就不要管自己有沒把子。
像樓上一樣開啟錯誤,然後輸出
echo phpinfo();
看看什麼情況。
恩,批評的對,那句話想修改發現改不了了。
很慚愧,網上搜羅各種方法還是無法解決,所以有點躁嬌了。謝謝批評。
乖~ 我有過數日在一個問題上徘徊的經曆,甚至我都忘記有多少次如此了,而最後解決是不是愉快的都不重要了,關鍵是,我過來了。要編程 這關是一定得過的,無論問題有多複雜,只要有人幫忙總是會解決。這裡有很多熱心人士多提問,虛心。哢哢。。。
最後不行 那個怪蜀黍 老大會來幫你的。
還是不行。唉
1. 本來吧php和apache不是放在同一個目錄下,又按照一個配置說明放在同個目錄下重新來了一遍。
發現了一個錯誤, regist global=On 當初沒改,改動了這個。還心想會不會就是這個問題。
2.樓上強調的方法,display_errors = On 卻確定定改過了。
error_reporting = E_ALL & ~E_NOTICE 這個也有了。可是phpinfo()的時候,顯示
display_errors Off Off 。這個很奇怪。
3. mysql的配置, libmysql.dll都有ext中,php.ini中也有前面冒號去掉,是吧mysql 和mysqli都去掉了。
然後,phpinfo()中還是無任何sql的資訊。 當然串連時候還是空白頁面。以及,我不串連sql時候訓練一些小程式,如果有錯誤,網頁中會顯示錯誤在第幾行之類的提示。
啊!高人。我實在是暈了~~~~~~
2.樓上強調的方法,display_errors = On 卻確定定改過了。
error_reporting = E_ALL & ~E_NOTICE 這個也有了。可是phpinfo()的時候,顯示
display_errors Off Off 。這個很奇怪。
你apache PHPIniDir "x:\PHP\"是不是正確的路徑?
如果你以前裝過舊版本的PHP 我建議你將所有舊的完全卸載掉然後重新安裝PHP.並且檢查這個路徑是否正確
或者是修改後必須要重啟apache 沒有操作?
...是不是你的名字和密碼填錯了
if($dbc=mysql_connect('localhost', 'username','password'))
這個串連語句中的...密碼和賬戶
你運行phpinfo.php檔案,看這個mysqli這個擴充開啟沒,如果沒有就去php.ini檔案開啟mysqli這個擴充。之後重啟apache。
2.樓上強調的方法,display_errors = On 卻確定定改過了。
error_reporting = E_ALL & ~E_NOTI……
看仔細些,php.ini裡有至少兩處display_errors,其中一處是被注釋掉的(前面有“;”),你應該改沒有被注釋掉的那一塊。
先運行這個phpinfo.php檔案,看有沒有載入mysql,如果沒有,重新操作一次,讓apache載入mysql,注意你配置環境時的路徑,然後在串連一次資料庫看看
還是不行。唉
1. 本來吧php和apache不是放在同一個目錄下,又按照一個配置說明放在同個目錄下重新來了一遍。
發現了一個錯誤, regist global=On 當初沒改,改動了這個。還心想會不會就是這個問題。
2.樓上強調的方法,display_errors = On 卻確定定改過了。
error_reporting = E_ALL & ~E_NOTICE 這……
很顯然你載入的設定檔不是你想要載入的那個,你需要修改apache中指定的PHPIniDir指定的php設定檔才可以
或許配置沒錯,檢查一下你的PHP代碼吧,我看到的代碼就不對
先來留個影。 多謝以上各位的回複。本人第一次闖入csdn並發帖,以前有問題還在知道上發帖,真是孤陋寡聞,都不好意思說自己是學編程的了。
部分解決了。
1.我卸載了所有安裝過的檔案,的確php安裝前下過好幾個版本,有的開啟,裡面有build檔案加,有的裡面是dev等。然後前前後後安裝估計吧配置搞壞了。我吧所有的都卸載了,然後保留了能用的一個,重新安裝,配置。pringinfo(),ok!我從來沒見過的mysql的訊息居然出現在頁面腫了,真是高興死了。
2.myql可以啟動,環境也配置好了,該連結了。套用上面兄台的語句測試連結,代碼如下
1 2
3 $link=mysql_connect('localhost','root','123456')or die(mysql_error());
4 echo(successfully connected to myqul!);
5 ?>
6
第6行沒有內容啊,可是有錯誤提示
Parse error: syntax error, unexpected T_STRING in F:\phpwork\testconnect.php on line 6
費解中。。這又是怎麼回事???
echo("successfully connected to myqul!");
echo '....';
要用引號引起來(因為是字串,如果是數位話就不用了)
學習語言搭建平台只是個開始!遇到問題,要自己先思考嘗試處理後
再提問。就像沒運行phpinfo();
或運行了不看內容這樣問題回答起來要費力的多。新手要多注意!
自己要有個系統的瞭解了再提問。別一遇問題想也不想就發問。
終於搞定了。上面的那個問題,加了引號也不行。
用了以下這段代碼成了。 $dbhost = 'localhost';
$dbuser = 'root'; //你的mysql使用者名稱
$dbpass = '123456'; //你的mysql密碼
$dbname = 'dbname'; //你的mysql庫名
$connect = mysql_connect($dbhost,$dbuser,$dbpass);
if ($connect) {
echo "串連成功,給分吧!:)";
} else {
echo "串連失敗,不要錢了!";
}
?>
然後,phpMyAdmin的安裝也就沒問題了。謝謝樓上各位回複。結貼。散分。
把short_open_tag = Off改為short_open_tag = On
在php的設定檔(php.ini)中有一個short_open_tag的值,開啟以後可以使用PHP的段標籤:()。
同時,只有開啟這個才可以使用
但是這個短標籤是不推薦的,使用才是規範的方法。只是因為這種短標籤使用的時間比較長,這種特性才被儲存了下來。