導航:首頁 > 編程語言 > php使用pdo連接mysql

php使用pdo連接mysql

發布時間:2025-06-04 20:14:00

php 連接資料庫失敗

嘗試一下解決方法:
1、資料庫連接失敗could not find driver
在調試一個PHP程序時,報了這個錯誤, could not find driver
經過一番查找,結合自己的思考和實踐,終於找到了問題所在.
程序中用到了PDO對象, 連接mysql 5. 在PHP的默認設置中,只打開了php_pdo 模塊, 沒有打開php_pdo_mysql模塊.所以才會出現找不到驅動程序的錯誤.
修改php.ini
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
2、重啟apache就可以了. 用別的資料庫,打開對應的模塊就OK了
如果在linux下面,確信模塊pdo_mysql.so已經編譯進php。
在php.ini下面添加:
extension=pdo_mysql.so

㈡ linux php pdo mysql 需要安裝mysql嗎

你好,必須要安裝的。

PDO MySQL簡介
PHP Data Objects(PDO)擴展為 PHP 訪問資料庫定義了一個輕量級的一致介面。實現 PDO 介面的每個資料庫驅動可以公開具體資料庫的特性作為標准擴展功能。注意利用 PDO 擴展自身並不能實現任何資料庫功能;必須使用一個具體資料庫的 PDO 驅動來訪問資料庫服務。記錄安裝 PDO MySQL 擴展過程。

PDO MySQL安裝准備

PDO MySQL詳細的安裝配置如下
PDO MYSQL單獨安裝配置過程如下:
1、下載 文件 或者 進入 在PHP源碼包中進入ext/pdo_mysql

2、解壓文件
[root@localhost src]#tar zxvf PDO_MYSQL-1.0.2.tgz
3、配置和編譯文件
[root@localhost src]cd PDO_MYSQL-1.0.2
[root@localhost MYSQL-1.0.2]/usr/local/php/bin/phpize
[root@localhost MYSQL-1.0.2]./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/ --with-zlib-dir=/usr/local/lib
[root@localhost MYSQL-1.0.2]make
[root@localhost MYSQL-1.0.2]make install
註: 我的PHP安裝在 : /usr/local/php/ mysql 安裝在 : /usr/local/mysql 編譯的時候注意你自己的安裝目錄在哪裡

切換目錄,查看pdo_mysql.so是否存在

[root@localhost MYSQL-1.0.2]cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

編輯php.ini

[root@localhost MYSQL-1.0.2]vi /usr/local/php/etc/php.ini

添加pdo_mysql擴展

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
或者 extension=pdo_mysql.so

重啟apache

[root@localhost MYSQL-1.0.2]/usr/local/apache2/bin/apachectl restart

㈢ php如何鏈接mysql

php鏈接mysql的方法如下:

先做出如下假設(也適用與方法二和方法三)

$username=your_name;

$userpass=your_pass;

$dbhost=localhost;

$dbdatabase=your_database;

//生成一個連接

$db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!");

//選擇一個需要操作的資料庫

mysql_select_db($dbdatabase,$db_connect);

//執行MySQL語句

$result=mysql_query("SELECT id,name FROM user");

//提取數據

$row=mysql_fetch_row($result);

注意事項:代碼注釋已經說明了一切。不過這里還需要做一些補充。

①在mysql_connect()、mysql_select_db()等函數之前使用@(錯誤控制運算符),可以忽略掉系統產生的錯誤信息,然後用die()來自定義錯誤信息;

②提取數據的時候,除了上面的mysql_fetch_row,常見的還有mysql_fetch_assoc和mysql_fetch_array,具體差別請查閱PHP Manual;

③對於mysql_query()函數的返回值,如果執行的語句有返回值(如SELECT、SHOW、DESCRIBE等),則返回相應數據(成功時)或FALSE(失敗時);如果執行的語句沒有返回值(如DELETE、DROP、INSERT、UPDATE等),則返回TRUE(成功時)或FALSE(失敗時)。

其實這種方法和普通方法非常類似,只是把相應的函數換成了面向對象方法,直接看代碼。

$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();

這里用到的是mysqli,意思就是mysql的擴展,既可以通過面向過程的方式也可以通過面向對象的方式與資料庫進行交互,唯一不同的是調用函數(對象方法)的方式不一樣。

PDO其實是PHP Database Objects的縮寫,中文即PHP資料庫對象。它提供了一種統一的PHP與資料庫交互的方法。

這是目前流行的一種連接資料庫的方法。它的優勢在於:只要正確提供數據源,餘下對於資料庫的基本操作都是一樣的。也就是說,同一段代碼既可以同MySQL交互,也可以和SQLite3交互,當然也可以和PostgreSQL進行交互,前提是你提供了正確的數據源。下面看一下連接MySQL的代碼:

$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'

$dbh=new PDO($dsn,$username,$userpass);

如果是SQLite3,直接使用下面的代碼:

$dsn='sqlite3:"C:sqliteuser.db"';

$dbh=new PDO($dsn);

如果是PostgreSQL,下面的代碼能夠對付:

$dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass;

$dbh=new PDO($dsn);

跟資料庫成功建立連接之後,下面就只需要從資料庫獲取數據或插入更新數據,實例代碼如下:

$stmt=$dbh->query('SELECT id,name FROM user');

$row=$stmt->fetch();

綜上所述有三種方法鏈接mysql

㈣ php如何連接mysql

PHP 可以使慶漏用 MySQLi 或 PDO(PHP Data Objects)擴展來連接 MySQL 資料庫。

以下是使用 MySQLi 擴展連接 MySQL 資料庫的示例代碼:虛跡

pdo

請注意,您需要替換 hostname,username,差差並password 和 database_name 為自己的資料庫連接詳細信息。

閱讀全文

與php使用pdo連接mysql相關的資料

熱點內容
京東app如何投訴快遞 瀏覽:697
plc功能指令編程 瀏覽:925
android如何生成apk 瀏覽:50
橢圓曲線加密演算法採用哪些技術 瀏覽:436
手機版有道少兒編程鏈接 瀏覽:546
python格式化vscode 瀏覽:240
單片機簡單實驗 瀏覽:776
創易的文件夾怎麼拼 瀏覽:868
javaffmpeglinux 瀏覽:942
文件夾如何改成空白名 瀏覽:564
單片機一秒延遲程序函數庫 瀏覽:461
軟體測試人員屬於程序員嗎 瀏覽:914
android自定義dialog樣式 瀏覽:198
怎麼給d盤裡面文件加密 瀏覽:567
右鍵轉換為pdf 瀏覽:857
程序員那麼可愛免費觀看全集92 瀏覽:238
不用軟體如何加密視頻 瀏覽:39
pdfeditor免安裝 瀏覽:341
iphone怎麼設置app消息靜音 瀏覽:826
愛快app如何使用 瀏覽:198