當前位置:首頁 » 數據倉庫 » php無法載入mysql資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php無法載入mysql資料庫

發布時間: 2022-11-15 14:57:42

① PHP無法連接Mysql資料庫Fatal error: Call to undefined function mysql_connect()

先用phpinfo();看一下是否支持mysql。
要是沒有,還是配置有問題。
Loaded
Configuration
File
看看php.ini是讀哪個路徑下的
php.ini
里extension

php_mysql.dll前的分號已經去掉了,extension_dir
=
"X:/php/ext"也改為了自己ext文件夾的路徑,libmysql.dll和php5ts.dll也復制到Windows目錄下的
system32
文件夾下

② php無法向mysql資料庫中添加數據怎麼辦

你可以先在mysql裡面執行一遍sql語句,看下能不能添加數據,先檢查語句有沒有問題,再看程序上的問題

③ PHP就是不載入mysql

LZ,我覺得你應該清潔一下,把現在有關的都刪除吧~!安裝PHP,不用拷文件拷來拷去的~!一個也不用!我從來都是這樣裝,從來沒拷過什麼libmysql.dll到system32下,這個真的不需要。
首先,還是看一下php的INSTALL.TXT吧。
我的是APACHE環境,PHP.ini在原來的PHP目錄里,在httpd.conf加入
# For PHP 5 do something like this:
LoadMole php5_mole "C:/Program Files/Apache Software Foundation/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/Program Files/Apache Software Foundation/php5"

----
最後,記得改php.ini里的ext的目錄。不要什麼./ext這樣的,要全路徑。比如C:/Program Files/Apache Software Foundation/php5/ext
還有,打開mysql模塊,也不需要mysqli,這是兩個不同的模塊。mysqli是mysql improved增強型模塊(其實就是類操作而已)

-------------
我覺得你現在的工作應該是清潔你的電腦,不要讓C:\windows\里有什麼libmysql.dll之類的東西

④ PHP無法載入MySQL

昨天配置IIS + PHP + MYSQL 又弄了很久。
主要是 PHP 載入 mysql總是載入不上,出現:Fatal error: call to undefined function mysql_connect()意思是沒有定義mysql_connect函數,即PHP沒有載入mysql模塊。
後來終於瞎弄弄出來了。記錄一下。

前置條件:mysql正確安裝到系統上。
1、下載PHP安裝文件並解壓縮到C:\PHP中,設置EVERYONE 許可權可讀寫,或者設置internet來賓賬號許可權可讀寫(IUSR_賬號)
2、將目錄下的 php.ini-dist 文件復制一份並修改文件名為 php.ini。
3、用記事本打開php.ini,修改PHP的參數,具體的參數應用我在後面附有。現在主要修改幾個地方:register_globals = OFF 改成 ON
??? 將 extension_dir = "./" 改成 你php里EXT文件夾的路徑,現在我的是 extension = "C:\PHP\EXT"
??? 分別將 extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mcrypt.dll,extension=php_mysql.dll,extension=php_mysqli.dll 前的分號去掉。
4、將c:\php\ext 中的 php_mysql.dll,php_mysqli.dll,libmcrypt.dll,libmysql.dll? 和 c:\php 中的 php5ts.dll拷貝到c:\windows\system32 下
5、增加ISAPI擴展 : internet 信息服務(IIS)-》網站-》屬性-》主目錄-》配置-》映射-》緩存ISAPI擴展 添加,擴展名填寫為:php, 可執行文件路徑選擇c:\php\php5isapi.dll,其他的默認就好。確定。在Web服務擴展里設置「所有未知ISAPI擴展」為允許
6、重啟IIS
7、某些IIS可能會發神經,如果不放心,在web服務擴展里再添加一個新的web服務擴展,文件路徑指向 c:\php\php5isapi.dll,設置為允許。

php.ini常用設置參數
關閉/打開全局變數?? register_globals = off/on
關閉/打開防SQL注入? magic_quotes_gpc = off/on? 強烈建議打開; $_POST,$_GET,$_COKIE提交變數中如果有單引號,雙引號,反斜線和空字元時都會加上反斜杠進行轉義,提高PHP的安全性。
關閉/打開錯誤提示?? display_errors = off/on? 網站發布時建議關閉
關閉/打開安全模式?? safe_mode = off/on 裡麵包含重要的內嵌的安全機制,能控制一些PHP中的函數,如system()等函數,建議開啟

設置上傳文件大小
? file_uploads = on ; 默認是打開的
? upload_max_filesize = 2M? 上傳文件最大是2M
? post_max_size = 10M ?
? 當post_max_size 大於 upload_max_filesize 時,upload_max_filesize 不起作用
啟用allow_url_fopen
?? allow_url_fopen = on ; 採集時要打開

⑤ PHP無法連接mysql

用戶名密碼不對。
如果你是在本地測試,有資料庫管理許可權,可以查看下有沒有 bookhbw這個用戶
select * from mysql.user
如果沒有可以新建用戶,或者在代碼里直接使用root賬戶及密碼連接(測試環境無所謂,如果是正式環境,一定要單獨建一個用戶,分配對應資料庫的許可權 )
-- 創建用戶
create user bookhbw@'localhost' identified by '密碼';
-- 授權用戶指定的資料庫許可權
GRANT ALL PRIVILEGES ON 資料庫名.* TO 'bookhbw'@'localhost';
-- 刷新許可權
FLUSH PRIVILEGES;
如果你的資料庫中已經有這個賬戶,看下這個賬戶設置的Host 是localhost還是ip 還是 %
如果是ip 或者 % 則連接的伺服器地址只能寫ip 不能寫localhost (可以新建一個同名用戶綁定localhost)
以上情況,你根據自己的軟體 配置,自行設置一下

⑥ php無法打開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了。

⑦ 我用php為什麼連接不到mysql資料庫

你把你自己的資料庫名字改掉啊,你現在用了LILI,把資料庫名也要這樣改的,有密碼也要改啊。代碼如下:
<?php
$conn=@
mysql_connect("localhost","lili","這里填密碼,沒有就空,有就寫")or
die("失敗");
$jkl=
mysql_select_db("lili");
if
($jkl)
echo"ok";
?>
都在上面了,自己看看吧。。

⑧ PHP環境下無法添加數據到mysql資料庫

新版本的MySQL對欄位的嚴格檢查,不允許有空的欄位插入(就是說表中本來有三個欄位,但是你在用insert插入時,語句裡面只給兩個欄位插入數據,對另外一個欄位忽略或者
直接為空都不行)。
修改my.ini,將
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_...
改為
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重新啟動MySQL。謝謝採納

⑨ php中mysql啟動不起來

問題:
安裝好phpstudy後,Apache可以啟動,Mysql無法啟動。
原因:
之前已經裝過Mysql,要把系統服務裡面的MySQL刪除,留下MySQL服務。
解決辦法:
在cmd命令行下輸入:sc delete mysql即可刪除mysql服務。
當我們在cmd里使用 sc delete 服務名,來刪除服務的時候,報錯誤,SC OpenService 失敗5:拒絕訪問,這似乎是因為許可權不夠。
解決方法:
第一步、我們必須先取得管理員許可權,以管理員許可權運行cmd.exe。
第二步、在輸入命令:sc delete 要刪除的服務名

phpstudy中apache或mysql無法啟動
phpstudy中apache或mysql無法啟動,啟動一下沒了
明顯埠被佔用了,假如我們需要確定誰佔用了我們的80埠,3306埠
對網站來說,網路apatche伺服器是默認 80,資料庫mysql是3306
埠佔有兩種解決方法:
法1:把被佔用的 進程結束掉 (如果你沒裝iis的話,也就是 你把能關的軟體都關閉 尤其迅雷什麼的)
法 2:改apatche 的埠
具體如下:
----------------------------------------
法一、如何查看某個埠被誰佔用,把被佔用的 進程結束掉

我們在啟動應用的時候經常發現我們需要使用的埠被別的程序佔用,但是我們又不知道是被誰佔用,這時候我們需要找出「真凶」,如何做到呢?

方法/步驟
第一步:開始---->運行---->cmd,或者是window+R組合鍵,調出命令窗口

第二步:輸入命令:netstat -ano,列出所有埠的情況。在列表中我們觀察被佔用的埠,比如是49157,首先找到它。

(對網站來說,網路apatche伺服器是默認 80,資料庫mysql是3306)

第三步:查看被佔用埠對應的PID,輸入命令:netstat -aon|findstr "49157",回車,記下最後一位數字,即PID,這里是2720
第四步:有兩種方法
1..續輸入tasklist|findstr "2720",回車,查看是哪個進程或者程序佔用了2720埠,結果是:svchost.exe

2..
或者是我們打開任務管理器,切換到進程選項卡,在PID一列查看2720對應的進程是誰,如果看不到PID這一列,如下圖:

則我們點擊[查看]--->[選擇列],將PID(進程標示符)前面的勾打上,點擊確定。

這樣我們就看到了PID這一列標識,看一下2720對應的進程是誰,如果沒有,我們把下面的顯示所有用戶的進程前面的勾打上,就可以看到了,映像名稱是svchost.exe,描述是,Windows的主進程,與上面命令查看的完全一致。

第五步:結束該進程:在任務管理器中選中該進程點擊」結束進程「按鈕,或者是在cmd的命令窗口中輸入:taskkill /f /t /im Tencentdl.exe。

-------------------------------------------------------------------------
法二:phpstudy修改埠

phpstudy控制面板中,點擊 其他選項

:將埠改為 8080
但需要注意,修改埠後,在輸入網址的時候,要帶著埠
如:(注意有冒號)
localhost:8080
localhost:8080/zz/index.php