bisschen am programmieren versucht, funzt alles bis....

MastaG
hi,

hab versucht was zu programmieren. Mein Problem ist jezz, wenn etwas bestimmtes machen will, soll der pm verschicken und dann kommt der error:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.2): Invalid SQL: INSERT INTO bb1_privatemessage (senderid,recipientid,subject,message,sendtime,allowsmilies,allowhtml,allow
bbcode,allowimages,showsignature,iconid,deletepm,tracking) VALUES ('22','0','INFO Mail <--Dein Account wurde freigeschaltet','Hallo ---------------------------------------------- Dein benutzer wurde soeben von Admin freigeschalten. Viel Spass nun in unserem Board.############################################## ############################################### ---------------------------------------------- Mit freundlichen Grüssen Geco Team','1124034274','1','0','1','1','0','','2','0')
mysql error: Unknown column 'recipientid' in 'field list'
Ghostmaster
In der bb1_privatemessage ist die "recipientid" Zeile nicht zu finden bzw. die "recipientid" = 0 Augenzwinkern

Mach mal folgende Abfrage

code:
1:
ALTER TABLE bb1_privatemessage ADD recipientid int(11) NOT NULL default '0';
MastaG
hi,

jezz kommt:

mysql error: Unknown column 'deletepm' in 'field list'

der gleiche befehl nochmal mit deletepm machen???
Ghostmaster
Kann es sein das du ein WBB2.2 benutzt? großes Grinsen
Oder hast du die bb1_privatemessage Tabelle bisschen bearbeitet?
MastaG
sagen wir so, hack von wbb2.2 in 2.3 eingebaut, hab alles angepasst, bis auf das problem da :-/

Also, gleicher befehl nur mit dem deletpm???
Ghostmaster
Das Deletepm gibste aus dem Codeteil raus Augenzwinkern
MastaG
hmmm, wie meinst du das???
Ghostmaster
Also

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
CREATE TABLE `bb1_privatemessage` (
  `privatemessageid` int(11) unsigned NOT NULL auto_increment,
  `senderid` int(11) unsigned NOT NULL default '0',
  `recipientlist` mediumtext collate latin1_general_ci NOT NULL,
  `recipientcount` int(11) unsigned NOT NULL default '0',
  `subject` varchar(250) collate latin1_general_ci NOT NULL default '',
  `message` mediumtext collate latin1_general_ci NOT NULL,
  `sendtime` int(11) unsigned NOT NULL default '0',
  `allowsmilies` tinyint(1) NOT NULL default '1',
  `allowhtml` tinyint(1) NOT NULL default '0',
  `allowbbcode` tinyint(1) NOT NULL default '1',
  `allowimages` tinyint(1) NOT NULL default '1',
  `showsignature` tinyint(1) NOT NULL default '0',
  `iconid` int(11) unsigned NOT NULL default '0',
  `inoutbox` tinyint(1) NOT NULL default '0',
  `tracking` tinyint(1) NOT NULL default '0',
  `attachments` int(11) unsigned NOT NULL default '0',
  `pmhash` varchar(32) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`privatemessageid`),
  KEY `iconid` (`iconid`),
  KEY `senderid` (`senderid`,`inoutbox`),
  KEY `pmhash` (`pmhash`,`sendtime`)
) TYPE=MyISAM;


So schaut die WBB2.3 bb1_privatemessage aus.
Jetzt musst du schaun was du hinzufügen bzw. entfernen musst Augenzwinkern
MastaG
aber wo soll ich die entfernen??
Ghostmaster
Aus der PHP Datei bzw. in dem Befehlsteil Augenzwinkern

Oder sag mal welchen Hack du an das WBB2.3 anpassen willst smile
MastaG
k, hab entfernt, nu kommt der error ^^

mysql error: Column count doesn't match value count at row 1

/edit: in der PHP ist das diese Stelle (also wo der die sachen abfragt...:

php:
1:
$db->unbuffered_query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,allowsmilies,allowhtml,allowbbcode,allowimages,showsignature,iconid,tracking) VALUES ('$wbbuserdata[userid]','".substr($insert_str,1)."','".addslashes($subject)."','".addslashes($text2)."','".time()."','1','0','1','1','".intval($_POST['showsignature'])."','$iconid','".(($_POST['savecopy']==1) ? (0) : (2))."','".intval($_POST['tracking'])."')",1);
Ghostmaster
Zitat:
Original von MastaG
k, hab entfernt, nu kommt der error ^^

mysql error: Column count doesn't match value count at row 1


Zeig mal den ganzen PHP Befehl smile


php:
1:
$db->unbuffered_query("INSERT INTO bb".$n."_privatemessage (senderid,recipientlist,recipientcount,subject,message,sendtime,allowsmilies,allowhtml,allowbbcode,allowimages,showsignature,iconid,inoutbox,tracking,attachments,pmhash) VALUES ('$senderid','".addslashes($recipientlistSerialized)."','".$recipientcount."','".addslashes($subject)."','".addslashes($message)."','".time()."','$allowsmilies','$allowhtml','$allowbbcode','$allowimages','$showsignature','$iconid','$savecopy','$tracking', '$attachments', '".addslashes($pmhash)."')"1);


So schauts fürs Wbb2.3 aus Augenzwinkern
MastaG
php:
1:
$db->unbuffered_query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,allowsmilies,allowhtml,allowbbcode,allowimages,showsignature,iconid,tracking) VALUES ('$wbbuserdata[userid]','".substr($insert_str,1)."','".addslashes($subject)."','".addslashes($text2)."','".time()."','1','0','1','1','".intval($_POST['showsignature'])."','$iconid','".(($_POST['savecopy']==1) ? (0) : (2))."','".intval($_POST['tracking'])."')",1);


---------------------------------------------------------------------------
----

php:
1:
$db->unbuffered_query("INSERT INTO bb".$n."_privatemessage (senderid,recipientid,subject,message,sendtime,allowsmilies,allowhtml,allowbbcode,allowimages,showsignature,iconid,tracking) VALUES ('$wbbuserdata[userid]','$pmid','".addslashes($subject)."','".addslashes($text2)."','".time()."','1','0','1','1','".intval($_POST['showsignature'])."','$iconid','".(($_POST['savecopy']==1) ? (0) : (2))."','".intval($_POST['tracking'])."')",1);


/edit: code ersetzt:

Column count doesn't match value count at row 1

so ein shice, man :-/
Snopy
Zitat:
Original von MastaG
hi,

hab versucht was zu programmieren. Mein Problem ist jezz, wenn etwas bestimmtes machen will, soll der pm verschicken und dann kommt der error:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.2): Invalid SQL: INSERT INTO bb1_privatemessage (senderid,recipientid,subject,message,sendtime,allowsmilies,allowhtml,allow
bbcode,allowimages,showsignature,iconid,deletepm,tracking) VALUES ('22','0','INFO Mail <--Dein Account wurde freigeschaltet','Hallo ---------------------------------------------- Dein benutzer wurde soeben von Admin freigeschalten. Viel Spass nun in unserem Board.############################################## ############################################### ---------------------------------------------- Mit freundlichen Grüssen Geco Team','1124034274','1','0','1','1','0','','2','0')
mysql error: Unknown column 'recipientid' in 'field list'


im wbb2.3 läst sich sowas entwededer mit der 1 variante class_onpm oder mit der 2 variante sendPrivateMessage lösen

hier mal die zweite variante kannste ja probieren ob es geht

php:
1:
2:
3:
4:
5:
$recipientlist = array();
$recipientlist[$wbbuserdata[userid]] = $wbbuserdata[userid];
$recipientlist_bcc = array();
sendPrivateMessage($recipientlist$recipientlist_bcc$subject$text21010111131091);
$db->unbuffered_query("UPDATE bb".$n."_users SET pmpopup=2 WHERE userid='$wbbuserdata[userid]'",1);


den rest des codes der eingefügt werden soll kenn ich ja nicht

gruß Snopy