pragmaMx Support Forum

Archive => veraltete bzw. unsupportete Systeme und Module => Alt Archive => PHPNuke 5.2-6.0 & VKP 5.5 => Thema gestartet von: vakistaste am 28 Mai 2002, 20:44:07

Titel: Datenbankfehler !
Beitrag von: vakistaste am 28 Mai 2002, 20:44:07
Kann mir jemand was über diesen Fehler sagen: Er tritt im Centerblock
auf ,wo normal ein Banner hinkommt.

error in sql-statement: mysql_query, err-no: 1064
qry: update nuke_banner set impmade=impmade+1 where bid=
description: You have an error in your SQL syntax near '' at line 1
Titel: Re: Datenbankfehler !
Beitrag von: soxin am 28 Mai 2002, 21:01:24
Lösch mal den ersten eintrag aus deiner Mysql-Zeile raus in der tabelle :
nuke_banner
... hoffentlich ist es nichts wichtiges!
 :cool:
<---------------------->
Sieht so aus als wär dort eine beschreibung zu lang![Bearbeitet am: 28/5/2002 von soxin]
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 28 Mai 2002, 21:32:56
ich hoffe auch! auf jedenfall ging das
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 29 Mai 2002, 15:46:47
Der Fehler tritt nur bei Besuchern auf.
Wenn man angemeldet ist läuft es einwandfrei. Habe die 1 Zeile jetzt wieder eingefügt. Daran lag es nicht.
Das Problem besteht jedoch immer noch.

Hilfe ???!!!

 :P :P :P
Titel: Re: Datenbankfehler !
Beitrag von: Andi am 29 Mai 2002, 15:57:34
Hi vakistaste,
der Fehler kommt nicht, wenn Du als Admin angemeldet bist, stimmt?

Überprüfe mal die Einträge in der Tabelle nuke_banner, ob da irgendwelche verrückten Einträge drin sind :puzz
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 29 Mai 2002, 16:19:57
Das stimmt ! Was sollen das denn für verrückte Einträge sein ???
Titel: Re: Datenbankfehler !
Beitrag von: Andi am 29 Mai 2002, 16:39:39
Kann ich auch nicht genau sagen, ist nur ein Verdacht.... :puzz

Evtl. Im Feld bid negative Zahlen oder leer, evtl. auch leere Datensätze.... irgend sowas :(
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 29 Mai 2002, 17:06:39
Das Feld bid sieht so aus :

SELECT * FROM `nuke_banner` WHERE 1
Titel: Re: Datenbankfehler !
Beitrag von: Andi am 29 Mai 2002, 17:14:35
Ich meinte den Wert/Inhalt des Feldes, nicht die Abfrage der Tabelle. ;) Eben, das Ergebnis dieser Abfrage:
z.B.:

                  bid  cid  imptotal  impmade  clicks  imageurl  clickurl  alttext  date  
Ändern  Löschen  1 1 0 783 10 http://gamesland.de/images/banners/games_com_banner.gif http://gamesland.de   2002-01-16 03:16:44
Ändern  Löschen  2 2 0 768 43 http://www.moa.frankysz.de/images/banners/moabl.gif http://www.moa.frankysz.de   2002-01-16 03:45:41
Ändern  Löschen  3 1 0 41 0 http://www.pragmamx.org/images/banners/maaX_dESIGN.gif http://www.maax-design.de   2002-02-23 04:13:33
Ändern  Löschen  4 2 0 39 0 http://www.fsz-design.de/images/banners/fsz.jpg http://www.fsz-design.de   2002-02-23 04:14:52
 
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 29 Mai 2002, 17:19:35
Ich habe ja keine Einträge in der Bannereinstellung,also dürfte ja auch nix angezeigt werden ? Oder ?
Titel: Re: Datenbankfehler !
Beitrag von: Andi am 29 Mai 2002, 17:30:24
Uuuuups, jetzt sieht das natürlich anders aus. :o

Da fallen mir 2 Möglichkeiten ein,

- Die Banner über das Adminmenü > generelle Einstellungen deaktivieren
- Irgendeinen Eintrag/Datensatz in der Tabelle anlegen

Nichts desto Trotz, zufällig hast Du einen kleinen Bug in der banners.php ans Licht gebracht.  :D
Titel: Re: Datenbankfehler !
Beitrag von: Andi am 29 Mai 2002, 17:48:03
3. Möglichkeit:
ersetze in der banners.php die funktion viewbanner() durch folgendes:

 function viewbanner() {
global $prefix, $dbi, $admin;
$bresult = sql_query("select * from ".$prefix."_banner", $dbi);
$numrows = sql_num_rows($bresult, $dbi);
/* Get a random banner if exist any. */
/* More efficient random stuff, thanks to Cristian Arroyo from http://www.planetalinux.com.ar */
if ($numrows>1) {
$numrows = $numrows-1;
mt_srand((double)microtime()*1000000);
$bannum = mt_rand(0, $numrows);
}
else {
$bannum = 0;
}
if($numrows>0) {
$bresult2 = sql_query("select bid, imageurl from ".$prefix."_banner limit $bannum,1", $dbi);
list($bid, $imageurl) = sql_fetch_row($bresult2, $dbi);
if (!is_admin($admin)) {
sql_query("update ".$prefix."_banner set impmade=impmade+1 where bid=$bid", $dbi);
}
$aborrar = sql_query("select cid, imptotal, impmade, clicks, date from ".$prefix."_banner where bid=$bid", $dbi);
list($cid, $imptotal, $impmade, $clicks, $date) = sql_fetch_row($aborrar, $dbi);
/* Check if this impression is the last one and print the banner */
if (($imptotal <= $impmade) AND ($imptotal != 0)) {
sql_query("insert into ".$prefix."_bannerfinish values (NULL, '$cid', '$impmade', '$clicks', '$date', now())", $dbi);
sql_query("delete from ".$prefix."_banner where bid=$bid", $dbi);
}
echo"<center><a href=\"banners.php?op=click&bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"1\" alt=\"\"></a></center>";
}
}
Titel: Re: Datenbankfehler !
Beitrag von: vakistaste am 29 Mai 2002, 17:50:00
Ups, daß habe ich wohl wirklich !
In beiden Fällen verschwindet der Fehler. Habe es jetzt in den Einstellungen auf aus gesetzt aber wenn man ein Banner einfügt und hat es auf an wird der Banner auch korrekt angezeigt und das Prob besteht nicht !

Danke erstma
Titel: Re: Datenbankfehler !
Beitrag von: DarkBoy am 29 Mai 2002, 23:50:53
es scheint tatsächlich nen BUG zu sein der bis heute  unentdeckt blienb :))
  Wir kommen den 100% immer näher :) mehr wenn ich es getestet habe :)