1

Ich bin mit Funktionen mit Datenbank arbeiten .. Nun ist die Art, wie ich die Funktionen definiert haben, sind wie folgt: -Wie Funktion verwenden, um eine Verbindung zur Datenbank herzustellen und wie mit Abfragen zu arbeiten?

/** 
* Database definations 
*/ 
define ('db_type', 'MYSQL'); 
define ('db_host', 'localhost'); 
define ('db_port', '3306'); 
define ('db_name', 'database'); 
define ('db_user', 'root'); 
define ('db_pass', 'password'); 
define ('db_table_prefix', ''); 

/** 
* Database Connect 
    */ 
function db_connect($host = db_host, $port = db_port, $username = db_user, $password = db_pass, $database = db_name) { 
    if(!$db = @mysql_connect($host.':'.$port, $username, $password)) { 
     return FALSE; 
    } 
    if((strlen($database) > 0) AND ([email protected]_select_db($database, $db))) { 
     return FALSE; 
    } 
    // set the correct charset encoding 
    mysql_query('SET NAMES \'utf8\''); 
    mysql_query('SET CHARACTER_SET \'utf8\''); 
    return $db; 
} 

/** 
* Database Close 
    */ 
function db_close($identifier) { 
    return mysql_close($identifier); 
} 

/** 
* Database Query 
    */ 
function db_query($query, $identifier) { 
    return mysql_query($query, $identifier); 
} 

Jetzt möchte ich wissen, ob es ein guter Weg ist, dies zu tun oder nicht .....

Auch während Datenbank i

$host = db_host 

bin mit Connect ist es ok? Zweitens, wie kann ich diese Funktionen verwenden, diese alle Code ist in meinem FUNCTIONS.php Die Datenbankdefinitionen und auch die Datenbank verbinden ... wird es für mich tun ...

Mit diesen Funktionen, wie werde ich in der Lage sein, eine Verbindung zur Datenbank herzustellen und die Abfragefunktion zu verwenden ... Wie kann ich eine Abfrage ausführen?


SEHR WICHTIG: Wie kann ich mysql mysqli zu machen, kann es nur durch das Hinzufügen einer 'i' to mysql getan werden .... wie: -

@mysql_connect 
@mysqli_connect 
+0

Re mysql -> mysqli: Am besten schauen Sie sich die Beispiele in der Anleitung. –

+0

Pekka - OOps ist es @mysqli_connect –

+2

Versuchen Sie mit [PDO] (http://php.net/manual/en/book.pdo.php) – Simone

Antwort

0

Mit globalen Konstanten können Sie sie direkt in einer Funktion verwenden. Also in diesem Fall

/** 
* Database Connect 
*/ 
function db_connect() { 
    if(!$db = @mysql_connect(db_host . ':' . db_port, db_user, db_pass)) { 
     return FALSE; 
    } 
    if((strlen(db_name) > 0) AND ([email protected]_select_db(db_name, $db))) { 
     return FALSE; 
    } 
    // set the correct charset encoding 
    mysql_query('SET NAMES \'utf8\''); 
    mysql_query('SET CHARACTER_SET \'utf8\''); 
    return $db; 
} 

Und hier ist, wie Sie den Client-Code implementieren können:

<?php 
if(!$conn = db_connect()) { 
    die('cant connect to mysql'); 
} 
$rs = db_query('SELECT * FROM tableA', $conn); 
/* loop through the resultset */ 
db_close ($conn); 
?> 

In Bezug auf die Umwandlung mysql mysqli, nein, es könnte nicht geradlinig; Das Hinzufügen eines "i" funktioniert möglicherweise nicht. MySQLi hat unterschiedliche Syntaxen. Zum einen wird der Port explizit an die connect-Methode übergeben und nicht wie oben beschrieben an den Host angehängt. Bitte lesen Sie die manual.

Sie sollten auch eine PDO-Bibliothek verwenden, wie von Simone Vittori vorgeschlagen.

+0

Ok @Abhay das ist eigentlich funktioniert ... Danke :) –

+0

können Sie mir auch sagen, ich kann '@ mysql' zu' @ mysqli' ... nicht in der Lage, es in PHP-Handbuch zu finden ... –

+0

Natürlich Sie kann mysql zu mysqli machen, aber der Übergang ist vielleicht nicht so einfach. Ich schlage auch vor, den Objektstil von MySQLi anstelle des prozeduralen Stils zu verwenden. Ich habe einen Link in meiner Antwort gegeben – Abhay

Verwandte Themen