1、用 mysql_connect 的方法,PHP7會報致命錯誤
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue->run() #1 {main} thrown in /Users/xueyanxiang/work/test/xue.php on line 31
原因是:塌信
PHP5中使用mysql_connect()函數進行連接,但實際上,PHP5.5開始,MySQL就不推薦使用了,屬於廢棄函數
PHP7中貌似已經徹底不支持了,根據官網說明,取而代之的是如下兩個:
本擴展自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇
API 指南以及相關 FAQ 以獲取更多信息。用以替代本函數的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換團蠢輪用mysqli_connect(),用法基本類似吧,據說是面向對象的庫。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個拓展了。
2、可以使用mysqli,對象化,方法名與被廢棄的類似
$conn= mysqli_connect('localhost','檔差xueyanxiang','xueyanxiang');
3、PDO工具,推薦使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db->query("select * from user;");
$res= $objQuery->fetchAll(PDO::FETCH_ASSOC);
不填寫參數的話,默認是關聯和索引都有,如下圖
❷ 為什麼php連接不了資料庫
這個錯誤的意思是文件沒有找到,需要的文件名是:資料庫連接.PHP
你檢查文件是否存在,確保正確文件存在即尺顫可解決。
當然,有時候看起來存在,實際上電腦認為不存在,這就是漢字編碼陵攜敗問題,看起來一樣的漢字,在UTF-8、隱答GBK下的電腦存儲數據是不同的。建議所有的PHP文件名都使用英文,這樣可以避免編碼問題。
❸ PHP登陸注冊頁在本地測試時,出現連接資料庫失敗的情況怎麼辦
1、檢查環境正常
使用mysql -u root -p 可以進入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php執行可以連上資料庫
2、打開hosts加入
復制代碼代碼如下:127.0.0.1 qttc
使用qttc當主機連接也正常,唯獨就不認localhost。
3、localhost連接方式不同導致
為了了解PHP連接資料庫時,主機填寫localhost與其它的區別閱讀了大量資料,最後得知:
當主機填寫為localhost時mysql會採用 unix domain socket連接
當主機填寫為127.0.0.1時mysql會採用tcp方式連接
這是linux套接字網路的特性,win平台不會有這個問題
4、解決方法
在my.cnf的[mysql]區段里添加
復制代碼代碼如下:
protocol=tcp
保存重啟MySQL,問題解決!
❹ 怎麼將php與資料庫連接
php鏈接mysql必備條件:
已安裝mysql資料庫;
檢查php環境是否已開啟mysql擴展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數,看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
<?php
//設置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義資料庫主機地址
$host="localhost";
//定義mysql資料庫登錄用戶名
$user="root";
//定義mysql資料庫登錄密碼
$pwd="";
//鏈接資料庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進行判斷
if(!$conn){
die("資料庫連接失敗!".mysql_errno());
}else{
echo "資料庫連接成功!";
}
?>
❺ PHP資料庫鏈接不工作問題,怎麼解決
問題一
今天給本本裝上mysql和php,一切安裝都很正常([email protected])。但用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的。
❻ 我的php就是和資料庫無法建立連接
一、常用普通方法
$mysql_server="localhost";
$mysql_username="資料庫用戶名";
$mysql_password="資料庫密碼";
$mysql_database="數肆敏據庫名";
//建立資料庫鏈接
$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die("資料庫鏈接錯誤");
//選擇某個資料庫
mysql_select_db($mysql_database,$conn);
mysql_query("set names 'utf8'");
//執行MySQL語句
$result=mysql_query("SELECT id,name FROM 資料庫表");
//提取數據
$row=mysql_fetch_row($result);
在提取數據的時候,我們使用mysql_fetch_row,還可以使用mysql_fetch_assoc和mysql_fetch_array,具體的我們參考手冊讓雹叢。
第二、面向對象方法
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
echo '坦櫻Could not connect to database.';
exit;
}
$result=$db->query("SELECT id,name FROM user");
$row=$result->fetch_row();
第三、PDO方法
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new PDO($dsn,$username,$userpass);$stmt=$dbh->query('SELECT id,name FROM user');
$row=$stmt->fetch();
推薦第三種連接方式
❼ PHP無法連接MySQL:die('Could not connect: ' . mysql_error());
這個主要就是顯示 出錯信息,方便查錯和調試,如果你知道 這里會出現什麼問題的話 一般 if(!$q){
exit('資料庫連接失敗!!');
}這樣寫就理友好一些了。
無法連接資料庫
如果用戶名 密碼沒錯的話
可能你的mysql並沒有安裝成window 服務
手動去mysql安裝目錄 下 啟動 bin目錄下的mysqld.exe
❽ PHP連接資料庫連接不上
首先確認資料庫名是否寫錯,然後看引入路徑是否正確。最後看語法是否正確。沒有報錯提示,只能想到這些。
❾ php連接資料庫報錯
php5.6以後已經棄用了mysql_函數,估計你是版本太高了,高於5.6版本的可以用mysqli_函數,具體寫法請查閱PHP文檔
❿ PHP的網站時常連接不上Mysql資料庫。
web方式的mysql資料庫」
如果沒理解錯的話應該是phpmyadmin吧?
只是mysql的可視化而已
php連接mysq方式沒變
使用php的資料庫操作函數連接mysql即可,可以用以下代碼測試是否能連接mysql:
<?php
$link
=
mysql_connect("localhost(主機)",
"root(資料庫用戶)",
"(資料庫密碼)")
or
die("could
not
connect:
"
.
mysql_error());
print
("connected
successfully");
mysql_close($link);