伊莉討論區

標題: php&MySQL資料庫新手,寫入資料庫網頁回傳錯誤訊?? [打印本頁]

作者: kevin0438    時間: 2016-1-20 10:04 AM     標題: php&MySQL資料庫新手,寫入資料庫網頁回傳錯誤訊??

請問高手門:
再寫簡單的會員系統寫入資料庫時,網頁出現以下訊息代號是什麼意思???

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\hcch\employee.php on line 77

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\AppServ\www\hcch\employee.php on line 77

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\hcch\employee.php on line 77

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\AppServ\www\hcch\employee.php on line 77

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\hcch\employee.php on line 140

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\hcch\employee.php on line 141
Access denied for user 'ODBC'@'localhost' (using password: NO)
作者: sheauren    時間: 2016-1-20 10:51 AM

Access denied for user 'ODBC'@'localhost'(using password: NO)
帳號登入失敗
A link to the server could not be established
連線沒有建立

如果你是本機用名稱為ODBC帳號沒密碼狀態連你的mysql 無法登入..
作者: kevin0438    時間: 2016-1-21 09:21 AM

我原先是IIS伺服器,已經刪掉了,
安裝AppServ,在Dreamweaver CS6測試連線資料庫都ok。
但.....瀏覽器測試寫入資料就發生以上錯誤。


這跟有安裝過IIS有關係嗎???
作者: hsw1976    時間: 2016-2-3 03:01 PM

本帖最後由 hsw1976 於 2016-2-3 03:02 PM 編輯
kevin0438 發表於 2016-1-21 09:21 AM
我原先是IIS伺服器,已經刪掉了,
安裝AppServ,在Dreamweaver CS6測試連線資料庫都ok。
但.....瀏覽器測試 ...


用 iis 或 apache 搭建 php + mysql,相容性本來就大大不同

但總體來講,無論何種 amp 套件

相容性一般都會比 iis + mysql +php 還好一些




作者: mojamoja1202    時間: 2016-2-3 11:53 PM

應該是連結錯了吧!
所以連不到資料庫了
小弟猜測的
作者: askasb    時間: 2016-2-26 01:28 PM

提供一下 你連接資料庫的語法~參考如下:
  1. <?php
  2. $servername = "localhost";
  3. $username = "username";
  4. $password = "password";

  5. // Create connection
  6. $conn = new mysqli($servername, $username, $password);

  7. // Check connection
  8. if ($conn->connect_error) {
  9.     die("Connection failed: " . $conn->connect_error);
  10. }
  11. echo "Connected successfully";
  12. ?>
複製代碼

作者: chevylin0802    時間: 2016-2-28 11:41 AM

本帖最後由 chevylin0802 於 2016-2-28 11:50 AM 編輯

你的資料庫有可能有三個地方沒有注意到
第一個是mysql 一開始初始管理整個資料庫引擎的帳號只有 'root' , 不會是'ODBC'
而你的root應該要用 mysqladmin 指令在 DOS終端機裏執行重設密碼
c:\.....>mysqladmin -u 'root' password

第二個是你最好先灌好phpmyadmin用網頁登錄進去後, 新建資料庫名稱
假設資料庫名稱為testdb

第三個是當你建好一個新的資料庫名稱之後, 要用phpmyadmin再另外做一個新的使用者
假設你新增一個新的使用者叫做'testuser', 密碼在新增的時候就可以自行設進去, 假設為'123456'
為了確認你的執行順利, 在DOS終端機裏執行mysql -u testuser -p123456 確定是否可以進入mysql client
如果進去了就打 '\q'  跳出來
(註, 這行如果確定可以執行, 那麼也可以確定你php程式的開啟資料庫引擎可以執行)

然後要把原先設好的資料庫名稱testdb, 授權給你的新使用者名稱 testuser來使用
包括讀寫以及資料表的建立等
如果不想灌phpmyadmin也可以
授權給資料庫的指令為
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'127.0.0.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
為了確認你的執行順利, 在DOS終端機裏執行mysql -u testuser -p123456 確定是否可以進入mysql client
然後在mysql client裏 輸入"open testdb;" 就會順利開啟資料庫

當這些動作做好之後
你在你的php程式裏就要把開啟資料庫的帳號用testuser代替, 密碼用123456, 資料庫名稱則為testdb

然後你就可以正確執行了

mysql client操作是最直接的方式
而一般來講
我們也會建議你必需要先熟練這個技巧






歡迎光臨 伊莉討論區 (http://www07.eyny.com/) Powered by Discuz!