Konflikt durch include

  • Themenstarter Themenstarter GreenThunder
  • Beginndatum Beginndatum
Hmm, so wie es aussieht, funkt der Counter in eine bestehene Datenbankverbindung dazwischen.
Entweder bindest Du den Counter vor der Datenbankverbindung ein oder Du bindest ihn nach der letzten Abfrage ein.
Sicherer währe es allerdings wenn Du bei jedem Query angibst welche Datenbankverbindung genutzt werden soll.

[edit]
Nutzt Du für den Counter die gleiche Datenbank wie für Dein anderes Script oder hast Du dafür eine extra Datenbank angelegt (Funpic stellt ja 8 Datenbanken zur Verfügung)?
[/edit]

[edit2]
Der Counter baut ja eine eigene Verbindung zur Datenbank auf, dadurch wird die vorherige Verbindung "zwangsgetrennt".
[/edit2]
 
Zuletzt bearbeitet:
PHP:
mysql_connect("$db_host","$db_user","$db_pass");
mysql_select_db("$db_name");
$result = mysql_query("SELECT.............");
Daraus machst Du z.b.:
PHP:
$link = mysql_connect("$db_host","$db_user","$db_pass");
mysql_select_db("$db_name", $link);
$result = mysql_query("SELECT.............", $link);
 
GreenThunder hat gesagt.:
Hallo,

Liegt es daran, dass im Counter Skript eine Datei "includet" wird?

PHP:
<?php
$chCounter_visible = 0;
$chCounter_status = 'active';
include( '/.../counter.php' );
?>

Da sind drei Punkte ;)
 
GreenThunder hat gesagt.:
Wenn ich die DB-Abfrage nach dem Script aufrufe kommt wieder der Fehler:

PHP:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /.../startseite.php on line 224

@saila

Ich habe die Zugangsdaten für meine DB in einer login.php. Damit klappt die Verbindung seit knapp 2 Jahren ohne Probleme.
Diese Woch wollte ich nun den Counter einfügen und habe da, bei der Installation, meine Verbindungsdaten in so eine config.inc.php geschrieben.

Rufe ich nun im Script zuerst den Counter ab, so kommt beim Auslesen meiner DB die Fehler. Setzte ich allerdings den Counter hinter die DB-Abfrage so gibt es kein Problem.

Moment, in deinem ersten Satz sagst du:

Wenn ich die DB-Abfrage nach dem Script aufrufe kommt wieder der Fehler:

stimmt das wirklich? Du baust die Verbindung zur Datenbank erst dann auf, wenn du das Script bereits eingebunden hast? Na dann würde das ja alles erklären.

Ich weis nicht, wie du deine DB-Verbindung aufbaust, aber folgendes als Beispiel:

PHP:
<?php
// in der Datei "funktionen.php" ist z.B. geregelt, das eine Verbindung zur DB aufgebaut wird.
require('funktionen.php')
// Dein Counter
require('counter.php')
?>
<html>
.... deine HTML - Ausgabe.
ob mit Templates oder direkt der HTML-Qeullcode

Nur am Rande, "include" verwendet man in z.B. in Schleifen, während man einmalige Einbindungen per "require" löst.
 
fanste hat gesagt.:
Irgendwo hast du als Zugangsusername für MySql root stehen.
Nicht zwangsweise.....
php.net hat gesagt.:
mysql_connect() öffnet eine Verbindung zu einem MySQL Server. Für fehlende optionale Parameter werden folgende Standardwerte angenommen: Server = 'localhost:3306', Benutzername = Name des Benutzers dem der Server-Prozess gehört und Benutzerkennwort = leeres Kennwort.
Der Server-Prozess (also MySQL) gehört i.d.R. immer "root".
Wenn nun also die Verbindungsdaten durch irgend etwas auf NULL gesetzt werden, würde PHP die Verbindung mit den Defaultwerten vornehmen.
Also mit:
PHP:
mysql_connect("localhost", "root", "")
Daraus könnte also seine Fehlermeldung resultieren.

Ehrlich gesagt habe ich aber keine Lust (und wahrscheinlich auch nicht genug Ahnung dazu) mir die über 400 Dateien vom Counter anzugucken um rauszufinden was da überhaupt alles passiert. ;)
 
Dr Dau hat gesagt.:
PHP:
mysql_connect("$db_host","$db_user","$db_pass");
mysql_select_db("$db_name");
$result = mysql_query("SELECT.............");
Daraus machst Du z.b.:
PHP:
$link = mysql_connect("$db_host","$db_user","$db_pass");
mysql_select_db("$db_name", $link);
$result = mysql_query("SELECT.............", $link);


Danke, hat geklappt! :)
 
Zurück