[PHP][MYSQL]snelle validatie & insert probleem

Pagina: 1
Acties:

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
Wat dus het volgende is : ik heb een script gemaakt (forum achtig).

Wat hij niet wilt doen is in de table "thread" wat zetten ,terwijl de gegevens kloppen.
de 'threadid' is een veld met auto_increment, dei controleert hij heel snel zodathij die weer kan gebruiken bij de volgende insert. Wat de bedoeling van dit script is dat het record maakt in tabel "thread" en ook tegelijk in "post" om ze te kunnen linken verifieerd de timsestamp "dateline" erlkaar om zo de 'threadid' te kunnen achterhalen.. dat werkt volgends mij goed. Maar dat is ook niet te testen als hij niet wilt invoegen.

Wat is er mis met dit stukje.. waar zit de fout? :?
PHP:
1
<?$db=mysql_connect (localhost,---------,-------);mysql_select_db (-------);$query= mysql_query("SELECT username,password,usergroupid FROM user WHERE user.userid=$bbuserid");$row = mysql_fetch_array($query);print $row["username"];echo "<br>";print $row["userid"];echo "<br>";print "$bbuserid";echo "<br>";$lastposter = $row["username"];$username = $row["username"];$ip=$session['host'];$title = addslashes($title);$attachmentid=0;$pagetext = addslashes($pagetext);$allowsmilie=0;$showsignature=0;$iconid=0;$visible=1;$forumid=24;$dateline= time();$submit = mysql_query("INSERT INTO thread (title, forumid, postusername, postuserid, lastposter, dateline) VALUES ('$title','$forumid',,'$username','$bbuserid','$username','$dateline',')");$query2= mysql_query("SELECT threadid FROM thread WHERE dateline = $dateline");$row2 = mysql_fetch_array($query2);$threadid= $row2["threadid"];print $row2["threadid"];print "hier threadid<BR>$threadid";$submit = mysql_query("INSERT INTO post (dateline, threadid, username, pagetext, ipaddress, visible, userid) VALUES ('$dateline','$threadid','$username','$pagetext','$ip','$visible','$bbuserid')");$submit2 = mysql_query("UPDATE lastposter FROM thread where threadid = $threadid and lastposter = $lastposter (lastposter) VALUES ('$username')");echo "$title has been added.";mysql_close ();?>

het is niet het meest mooiste script, maar aan die dingen doe ik later wel wat.

Ontwikkelaar van NPM library Gleamy


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Krijg je geen errors? Tot hoever komtie?

om een auto_increment id te achterhalen moet je dit eens doorlezen..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:59
Kun je even uw post aanpassen zodat de layout een beetje goed blijft?

Er heeft hier niemand een glazen bol, dus moest je nu even zeggen welke fout je krijgt.

https://fgheysels.github.io/


Verwijderd

idd voor het achterhalen van de waarde van de laatste auto increment kan je deze goed gebruiken:
mysql_insert_id ( [resource link_identifier])

verder kan ik zo ook niet zien wat er mis is, lijn het even uit als je wilt en meld de error

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
ik ga eens even kijken..ik zal et ff omzetten.. sorry :)

Ontwikkelaar van NPM library Gleamy


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
hmz.. mag neit meer wijzogen , nou hier komt ie dan in grotere code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

$db=mysql_connect (localhost,***,***);
mysql_select_db (***);

    $threadid= addslashes($threadid);

$query= mysql_query("SELECT username,password,usergroupid FROM user WHERE user.userid=$bbuserid");
$query2= mysql_query("SELECT replycount FROM thread WHERE threadid = $threadid");


$row = mysql_fetch_array($query);
print $row["username"];
echo "<br>";
print $row["userid"];
echo "<br>";
print "$bbuserid";
echo "<br>";

    $username = $row["username"];
    $ip=$session['host'];

    $lastposter = $row["username"];
    $attachmentid=0;
    $pagetext = addslashes($pagetext);
    $allowsmilie=0;
    $showsignature=0;
    $iconid=0;
    $visible=1;
    $replycount=$row2["replycount"]++;
    $dateline = time();

$date = date("d-m-Y",$dateline);
$time = date("H:i:s",$dateline);

print "$date - $time<br>";

$submit = mysql_query("INSERT INTO post (dateline, threadid,username, pagetext, ipaddress, visible, userid) VALUES ('$dateline','$threadid','$username','$pagetext','$ip','$visible','$bbuserid')");
$submit2 = mysql_query("UPDATE lastposter FROM thread WHERE threadid = $threadid AND lastposter = $lastposter (lastposter) VALUES ('$username')");
$submit3 = mysql_query("UPDATE replycount FROM thread WHERE threadid = $threadid (replycount) VALUES ('$replycount')");

echo "$title has been added.";
?>

Ontwikkelaar van NPM library Gleamy


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
perfecte tip, bedankt mensen!! ..had er neit aan gedacht..ik ben nu te moe om wat te proberen.ik ga het morgen na het werk gelijk doen.. dan horen jullie het van me :)

Ontwikkelaar van NPM library Gleamy


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
hmz. probleempje,.. hij geeft bij die mysql_insert_id()
een -1 als waarde aan..
en bij autoincrement tabel : "4294967295" (int 10 unsigned)

misschien kan ik beter gewoon de hogoste waarde uit de tabel opvragen en daarbij 1 optellen.. dus een wat vastere variabele..

Ontwikkelaar van NPM library Gleamy


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
*schop* :9

Ontwikkelaar van NPM library Gleamy


Verwijderd

schopje nog een keer
:9

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
sorry guys..
ik krijg et niet voor melkaar..
ik zie steeds bij de ID dit staan :
"4294967295"

Ontwikkelaar van NPM library Gleamy

Pagina: 1