2012-03-26 10 views
1

Ich habe kürzlich eine App von der Verwendung der älteren mysql-Funktionen auf die Verwendung von mysqli-Funktionen verschoben. Die App verbindet sich bei jeder Anfrage mit der DB und mit den alten Funktionen, die Sie nicht in einer DB-Verbindung übergeben mussten, sondern mit den neuen Funktionen, die Sie ausführen. Ich habe die Verbindung in das GLOBALS-Array platziert, das von meiner mysql-Bibliothek verwendet werden soll.Mysqli-Verbindung in GLOBALS-Array - Fehler

$GLOBALS['connection'] = mysqli_connect($host, $user, $pass, $db); 

Frage 1: Gibt es einen Grund, dies nicht zu tun?

Frage 2: Alles scheint zu funktionieren gut, wenn ich die App zugreifen, aber Googlebot scheint Schwierigkeiten zu haben:

mysqli_real_escape_string() erwartet Parameter 1 mysqli zu sein, null

gegeben

Wenn die Verbindung vom Array $GLOBALS übergeben wird. Anny Idee, warum Googlebot möglicherweise die DB-Verbindung nicht existiert?

Antwort

0

Abhängig von der Komplexität Ihrer Anwendung würde ich in eine dedizierte Klasse (Singleton) wechseln, die alles mit Ihrer Datenbank zu tun hat.

Einige Diskussion hier: Global or Singleton for database connection?

Darüber hinaus wieder auf die gleiche Frage abhängig ist, sollten Sie bei PDO suchen, welche die neue Art und Weise ist Datenbanken in PHP für den Zugriff.