2014-10-27 158 views
0

我想從hereAJAX建議示例教程。我在database.php文件中發現了一個問題。它包含這樣的代碼段。在php中連接到mysql數據庫

function db_connect($server = 'localhost', $username = 'root', $password = '123', $database = 'db_ajax_suggest', $link = 'db_link') { 
    global $$link; 

    $$link = mysql_connect($server, $username, $password); 

    if ($$link) mysql_select_db($database); 

    return $$link; 
    } 

我的問題是代碼中的$link = 'db_link'是什麼。我之前曾與php合作過,但並不多,我還沒有遇到過這樣的情況。所有需要的都是$ servername,$ username,$ password。我是java人以上PHP。在Java中,我可以使用jdbc:mysql://localhost:3306/db_ajax_suggest。 但在這種情況下,Hoe應該設置數據庫url? 謝謝!

+0

$$鏈接=> $ { 'db_link'} => $ db_link'在php手冊中尋找'variable variables' – 2014-10-27 06:59:55

+2

你的問題是'$ link ='db_link''在那裏做什麼?這只是一個參數,當沒有提供,'db_link'被使用 – Ghost 2014-10-27 07:01:13

+0

請停止使用'mysql_ *'功能,這些都已過時! – Azrael 2014-10-27 07:01:16

回答

0

我覺得只有這麼多,你需要連接到你的數據庫,並與你的表

$connect = mysql_connect('localhost','root','123'); 
if (!$connect) { 
die('Could not connect to MySQL: ' . mysql_error()); 
} 
mysql_select_db('db_ajax_suggest',$connect); 

,並從表中讀取數據

$query = " your query "; 
mysql_query($query) or die('SQL ERROR:'.mysql_error()); 
0

mysql_connect($server, $username, $password) or die(mysql_error()); 

而努力對於DB

mysql_select_db($database) or die(mysql_error()); 

,併爲您查詢

mysql_query($q) or die(mysql_error()); 

我找不到比這個沒什麼更好的解決方案。

0

mysql_connect可以有四個參數。

這樣

mysql_connect($server,$user,$pwd,$newlink,$clientflag) 

在我的我的前三個你已經知道了。您可能會對$ newlink和$ clientflag產生困惑

$newlink =返回布爾值意味着TRUE或FALSE。

用法:如果在腳本中再次調用連接。現在將創建新的連接。如果其設置爲TRUE

clientflag client_flags參數可以是以下常量的組合:128(啓用LOAD DATA LOCAL handling), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE。有關詳細信息,請參閱有關MySQL客戶端常量的部分。在SQL安全模式下,忽略此參數。**according to the php manual **

檢查這些鏈接瞭解詳細信息

http://php.net/manual/en/function.mysql-connect.php

http://php.net/manual/en/mysql.constants.php#mysql.client-flags

重要提示:請學會mysqliPDO