⑴ php7連接mysql資料庫方法
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);
不填寫參數的話,默認是關聯和索引都有,如下圖
⑵ PHP7.0怎麼通過打開擴展功能和mysql相連
第一步:進入php源碼中的"ext/mysql"目錄下
第二步:在當前目錄下運行phpize命令:/usr/local/php524/bin/phpize
phpize的規則:去哪個目錄下運行phpize文件,那麼就會在該目錄下生成一個configure文件。
第三步:運行剛才生成的configure文件
命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/
這里最關鍵的是通過--with-mysql參數告訴mysql客戶端的位置。這樣才能生成mysql.so。
實驗的時候,沒有加這個參數,結果錯誤:
./configure --with-php-config=/usr/local/php524/bin/php-config
第四步:編譯生成.so文件
第五步:配置php引擎載入該擴展。
補充一下:就是去php.ini文件中修改一下配置,載入mysql.so這個擴展(這個擴展文件要放到php指定的擴展目錄下面去)
第六步:測試php引擎是否成功載入該擴展編寫文件phpinfo.php,內容是:<?phpehco phpinfo();?>
運行後,可以看到有如下信息顯示:mysqlMySQLSupport enabledActive PersistentLinks 0
Active Links 0
Client API version 5.1.55
MYSQL_MODULE_TYPE no value
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE no value
MYSQL_LIBS no value
通過這樣的方式可以確認,php引擎已經成功載入了mysql.so擴展。
第七步:已經生成的mysql.so。編寫php代碼測試是否能連接mysql。
⑶ 用php怎麼連接mysql資料庫
首先搭建PHP開發運行環境,安裝完成後再使用PHP連接mysql,代碼操作步驟如下:
下載php_mysql.dll擴展,放到ext文件夾下,如果存在則跳過;
⑷ 關於php操作mysql執行資料庫查詢的一些常用操作匯總
php操作mysql步驟:
1.$connect=mysql_connect('localhost','root','123456')
or
die('資料庫連接失敗。'mysql_error());鏈接mysql。
2.mysql_select_db('database',$connect)選擇鏈接的資料庫。
3.mysql_query('Set
names
gb2312');$sql
=
"select
*
from
blog_article";准備要查詢的數據。
4.$datas
=
mysql_query($sql);執行sql查詢。
5.$data
=
mysql_fetch_assoc($datas)得到查詢到的緩存在內存中的一條數據。
6.print_r($data);
相同點:三個函數都是返回資料庫中查詢到的一行數據(說的再清楚點就是一條數據)。
不同點:mysql_fetch_assoc()用的是資料庫中相應的欄位名作為的key值(也就是數組下標)
如:filed['id']=1;
mysql_fetch_row()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標)
如:filed[0]=1;
mysql_fetch_array()用的是自動生成的數字(從0開始依次生成)作為的key值(也就是數組下標),而且它還同時生成資料庫中相應的欄位名作為的key值(也就是數組下標)
如:
filed[0]=1,filed['id']=1;也就是說,mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數組。mysql_fetch_object()返回的是object對象。
mysql_insert_id() 取得上一步
INSERT
操作產生的
ID。
mysql_result()
函數返回結果集中一個欄位的值。
mysql_num_fields()
函數返回結果集中欄位的數目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數。
mysql_num_rows(mysql_query($sql))獲得結果集中行的數目。
mysql_pconnect()
函數打開一個到
MySQL
伺服器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個主要區別:
1.
當連接的時候本函數將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。
2.
其次,當腳本執行完畢後到
SQL
伺服器的連接不會被關閉,此連接將保持打開以備以後使用(mysql_close()
不會關閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結果集中的第8條數據。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會緩存查詢的結果。
mysql_close();關閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個欄位的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數據的所有欄位的每個欄位的長度。返回的是一個數字組成的數組。
mysql_field_name(mysql_query($sql),3)返回第三個欄位的欄位名。
mysql_field_table(mysql_query($sql),0)返回指定欄位所在的表名。
mysql_free_result(mysql_query($sql))
函數釋放結果內存。
mysql_get_client_info()
函數返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機信息。
⑸ php7.0可以用mysql 5.1.73的嗎
PHP 5 的使用者可以使用 mysql extension,mysqli 和 PDO_MYSQL 。PHP 7移除了mysql extension,只剩下後面兩種選擇。。。。。
不過可以找下一鍵安裝試一下
⑹ php7怎麼操作mysql資料庫
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 "資料庫連接成功!";
}
⑺ php7 apache mysql 怎麼配置
1.軟體
在Windows 7、8下進行PHP環境搭建,首先需要下載PHP代碼包和Apache與Mysql的安裝軟體包。
這些軟體大家都可以在各自的官網下載,我下載的是(1). PHP: php-5.4.17-Win32-VC9-x86.zip(注意個中版本和自己電腦配置的匹配,VC9是需要電腦安裝 Visual C++ 2008,VC11的php5.5是要Visual C++2012吧,我電腦安裝了2010,所以就用了VC9的,自己決定啊)(2).Apache我用的是2.2的。(3).MySQL我用的是5.6版本的,新版本看起來很高端的樣子,還沒有玩的很熟悉,不過沒什麼太大影響。
2.安裝
第一步:Windows7、8下安裝Apache服務
Apache配置信息
注意:在php編碼的時候可能會出現漢字的亂碼問題,這時你可以將你的php文件另存為,編碼選擇utf-8,替換之前的文件再試試看。
如果Windows 7、8下無法使用localhost連接MYSQL5.6的解決方法
在Windows 7、8中PHP連接Mysql時默認只能使用IP地址連接Mysql,而無法使用localhost連接Mysql,解決方法為打開C:WindowsSystem32driversetc下的hosts文件,將
# 127.0.0.1 localhost前面的#去掉
⑻ php操作MYSQL資料庫的問題
<?php //連接資料庫
$db_host = "ip";
$db_user = "用戶名";
$db_password = "密碼";
$db_name = "資料庫名";
mysql_connect($db_host,$db_user,$db_password);
mysql_select_db($db_name);
//自定義查詢,就是寫SQL
$sql = "select count(*) as num from students where age>20";
$result = mysql_query($sql);
//取數據,當然一條的時候也可以直接 $row['num']
while ($row = mysql_fetch_array($result)) {
$row['num']
}
?>