Daten aus externer DB in Forum einbinden 2.0

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Die Ergebnisse der Datenbankabfrage stehen in $result

Code: Alles auswählen

$result = mysql_db_query($mydbName,"SELECT * FROM txs WHERE status = 1"); 
Warum sollte die DB offen bleiben?

Nehme ich die Zeilen aus der Schleife raus passiert garnichts mehr, also nicht einmal der erste Datensatz wird als Post eingetragen.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

RubberDuck hat geschrieben:Die Ergebnisse der Datenbankabfrage stehen in $result
Nein, mysql_query gibt nur einen Zeiger zurück, den man benutzt, um mit Funktionen wie mysql_fetch_array die eigentlichen Daten aus der Datenbank auszulesen.
[php=mysql_query]PHP-Handbuch[/php] hat geschrieben:... liefert mysql_query() eine Ressourcen-Kennung
RubberDuck hat geschrieben:passiert garnichts mehr, also nicht einmal der erste Datensatz wird als Post eingetragen.
Dann hast du den Code entweder an einer anderen falschen Stelle platziert oder es sollte irgend eine Fehlermeldung kommen.
KB:knigge
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich könnte mir auch vorstellen dass gar nichts passiert, weil die Datenbankverbindung schon geschlossen ist und du somit nicht mehr an die Ergebnisse der Abfrage heran kommst.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Ich habe das "closedb" rausgenommen, das Ergebnis ist das gleiche wie vorher.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

In der eigentlichen Fehlermeldung (siehe erstes Posting) scheint doch $user_id leer zu sein. Kann es evtl. damit zusammenhängen das irgendwo die gesetzten Werte "verloren gehen"?
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Hat denn wirklich keiner der Profis einen Lösungsansatz?

Ich hab das jetzt in alle möglichen Richtungen Probiert, aber wie gesagt das Ergebnis ist immer das gleiche.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wie sieht denn der derzeitige, vollständige Quellcode aus und wie lautet die vollständige Fehlermeldung?
KB:knigge
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Das ist der jetzige Code:

Code: Alles auswählen

<?
include('vars.php');
$opendb = mysql_connect($Host,$user,$pwd);
$result2 = mysql_db_query($mydbName,"SELECT * FROM txs");

$phpbb_root_path='/forum/';
define('IN_PHPBB', true);
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);

$forum_id="38";
$bbcode_on=1;
$html_on=0;
$smilies_on=1;
$topic_type='0';
$attach_sig='0';
$mode='newtopic';
$userdata = get_userdata(33);
init_userprefs($userdata);
$username = ( $userdata['session_logged_in'] ) ? $userdata['username'] : '';

while ($row2 = mysql_fetch_array($result2)) {
	$subject = $row2["txsa"]." (".$row2["txsb"].")";
	$message = "Name:	[b]".$row2["txsa"]."[/b] (".$row2["txsb"].")";
	prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length);
	submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length);
	update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
}
Und das die Fehlermeldung dazu:
Error in posting

DEBUG MODE

SQL Error : 1196 Warning: Some non-transactional changed tables couldn't be rolled back

UPDATE phpbb_users SET user_posts = user_posts + 1 WHERE user_id =

Line : 445
File : functions_post.php
Es wird wie gesagt nur der erste Datensatz als Posting eingetragen. Was mir auch noch aufgefallen ist, ist das dieses Posting beim User nicht gezählt wird. Und in der Fehlermeldung ist "user_id" leer.
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wo definierst du denn die Variable $user_id?
KB:knigge
RubberDuck
Mitglied
Beiträge: 460
Registriert: 09.07.2003 16:52
Wohnort: ROW
Kontaktdaten:

Beitrag von RubberDuck »

Pyramide hat geschrieben:Wo definierst du denn die Variable $user_id?
Ich bin davon ausgegangen das dieser Wert über init_userprefs gesetzt wird. War wohl eine falsche Annahme :(

Wenn ich jetzt $user_id vor der Schleife setzte, wird wiederum nur der erste Datensatz geschrieben, es wird aber der Beitrag gezählt und es kommt nun diese Fehlermeldung:
Fatal error: Cannot redeclare clean_words() (previously declared in /forum/includes/functions_search.php:22) in /forum/includes/functions_search.php on line 22
VARAN-eV.de - V.A.R.A.N. e.V. - Verein für Artenschutz der Reptilien- und Amphibienhalter Norddeutschlands
Terra-Nord.de - Der Terraristik Stammtisch im Norden
ReptilienManager.de - Die Online Reptilien Verwaltung
Antworten

Zurück zu „Coding & Technik“