php串連Mysql不成功,可以使用Mysqli和PDO串連成功。該如何解決

來源:互聯網
上載者:User
php串連Mysql不成功,可以使用Mysqli和PDO串連成功。
環境是win7下面自己手動搭建的apache2.2+php5.3+mysql5,各項環境搭建均成功,phpinfo上面看到的Mysql和Mysqli都是對的,但是使用php串連Mysql不成功,但是可以成功使用Mysqli和PDO,而且串連錯誤的是很不顯示錯誤資訊,直接跳轉到不能訪問的頁面。請求協助!!!!!!!!


------解決方案--------------------
PHP code
function connect($servername, $username, $password, $dbname){ echo "進入連結";    $con = mysql_connect($servername, $username, $password);    $con = mysql_select_db($dbname, $con); return $con;}
------解決方案--------------------
mysql_connect

(PHP 4, PHP 5)

mysql_connect — 開啟一個到 MySQL 伺服器的串連

說明

resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )
開啟或重複使用一個到 MySQL 伺服器的串連。

參數

server
MySQL 伺服器。可以包括連接埠號碼,例如 "hostname:port",或者到本地通訊端的路徑,例如對於 localhost 的 ":/path/to/socket"。

如果 PHP 指令 mysql.default_host 未定義(預設情況),則預設值是 'localhost:3306'。

username
使用者名稱。預設值是伺服器處理序所有者的使用者名稱。

password
密碼。預設值是空密碼。

new_link
如果用同樣的參數第二次調用 mysql_connect(),將不會建立新串連,而將返回已經開啟的串連標識。參數 new_link 改變此行為並使 mysql_connect() 總是開啟新的串連,甚至當 mysql_connect() 曾在前面被用同樣的參數調用過。

client_flags
client_flags 參數可以是以下常量的組合:MYSQL_CLIENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACE 或 MYSQL_CLIENT_INTERACTIVE。進一步資訊見MySQL 用戶端常量。

傳回值

如果成功則返回一個 MySQL 串連標識,失敗則返回 FALSE。

更新日誌

版本說明
4.3.0 添加 client_flags 參數。
4.2.0 添加 new_link 參數。
3.0.10 對 server 添加 ":/path/to/socket" 支援。
3.0.0 對 server 添加 ":port" 支援。
範例

Example #1 mysql_connect() 例子
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
Example #2 mysql_connect() 例子:使用 hostname:port 文法
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
Example #3 mysql_connect() 例子:使用 ":/path/to/socket" 文法
// we connect to localhost and socket e.g. /tmp/mysql.sock

//variant 1: ommit localhost
$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);


// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
注釋

Note:

只要將 server 指定為 "localhost" 或 "localhost:port",MySQL 用戶端庫會越過此值並嘗試串連到本地通訊端(Windows 中的名字管道)。如果想用 TCP/IP,應該用 "127.0.0.1" 代替 "localhost"。如果 MySQL 用戶端庫試圖串連到一個錯誤的本地通訊端,則應該在 PHP 配置中設定 的正確路徑並把 server 留空。

Note:

指令碼一結束,到伺服器的串連就被關閉,除非之前已經明確調用 mysql_close() 關閉了。

Note:

可以在函數名前加上一個 @ 來抑制出錯時的錯誤資訊。

參見

mysql_pconnect() - 開啟一個到 MySQL 伺服器的持久串連
mysql_close() - 關閉 MySQL 串連
------解決方案--------------------
你的串連伺服器名稱用的是localhost或者是127.0.0.1嗎,換成你的電腦名稱試一下,以前碰到過這樣的問題
------解決方案--------------------
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.