mysql wil niet inserten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

07/05/2013 23:25:33
Quote Anchor link
Hallo iedereen,

Op mijn website (http://cliky.nl), kunnen leden bezoekers verdienen voor hun website, hiervoor moeten ze clikies verdienen, dit doen ze door de websites van andere mensen te bezoeken, de links van die websites staan in een lange lijst. Er zijn twee soorten websites in die lijst, websites die je elk uur kan bezoeken en sites die je elke dag kan bezoeken. Nu kan je er ook voor zorgen dat een ebsite zowel elk uur als elke dag kan bezocht worden, je website wordt dus 2 keer opgenomen in de lijst. Alles werkt perfect, alleen wanneer je een website een tweede keer bezoekt (de eerste keer bekijk je hem als daglink en daarna als uurlink), dan zal hij die website niet meer in mijn database plaatsen als geklikte link en kunnen de leden deze links dan eeuwig blijven klikken (wat niet de bedoeling is :-)), ik weet waar de fout zit, maar ik weet niet hoe ik ze moet oplossen, hopelijk kunnen jullie het wel vinden:

De fout bevind zich op regel 40 en regel 87:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
session_start();
include("functions.php");
connect();
include("safe.php");
$inv25=mysql_query("SELECT * FROM cred WHERE '".$_SESSION['uid']."'=id") or die(mysql_error());
$row25 = mysql_fetch_array($inv25);
$tijd2=time();
$tijd3=$row25['eklikvd'];
if ($tijd2-$tijd3>86400 or $tijd3=0) {
$bonus=10;
$inv26=mysql_query("UPDATE cred SET eklikvd='$tijd2' WHERE id='".$gebr['id']."'") or die(mysql_error());
}

if(isset($_GET[kl24])) {
$kl24=protect($_GET['kl24']);
$inv23=mysql_query("SELECT * FROM klik WHERE code='$kl24' and '".$_SESSION['uid']."'=gebr and sec=86400") or die(mysql_error());
 if (mysql_num_rows($inv23) > 0) {
 echo ('Je hebt deze link al bezocht, sluit deze pagina en probeer een andere link, om zo clikies te verdienen.');
 }

 else {
 $inv29=mysql_query("SELECT * FROM admin") or die(mysql_error());
 $row29 = mysql_fetch_array($inv29);
 $totkliks=$row29['bez']+1;
 $inv30=mysql_query("UPDATE admin SET bez='$totkliks'") or die(mysql_error());
 $inv27=mysql_query("UPDATE cred SET lklik='$tijd2' WHERE id='".$gebr['id']."'") or die(mysql_error());
 $inv1=mysql_query("SELECT * FROM sites WHERE code='$kl24'") or die(mysql_error());
 $row1 = mysql_fetch_array($inv1);
 $gehad24=$row1['gehad']+1;
 $kliks24=$row1['kl24']-1;
 $inv2=mysql_query("UPDATE sites SET kl24='$kliks24' WHERE code='$kl24'") or die(mysql_error());
 $inv24=mysql_query("UPDATE sites SET gehad='$gehad24' WHERE code='$kl24'") or die(mysql_error());
 $inv3=mysql_query("SELECT * FROM cred WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row3=mysql_fetch_array($inv3);
 $verd=$row3['saldo']+0.9+$bonus;
 $klikopbr=$row3['klikopbr']+0.9;
 $tot=$row3['totaal']+0.9+$bonus;
 $overig=$row3['overig']+$bonus;
 $inv4=mysql_query("UPDATE cred SET saldo='$verd', totaal='$tot', klikopbr='$klikopbr', overig='$overig' WHERE id='".$gebr['id']."'") or die(mysql_error());
 $tijd=time();
 $inv9=mysql_query("INSERT INTO klik (gebr, tijd, sec, code) VALUES ('".$_SESSION['uid']."', '$tijd', 86400, '$kl24')") or die(mysql_error()); !!!!!!!!!!!!!!!!!!!!!! hier zit de fout !!!!!!!!!!!!!!!!!
 $inv11=mysql_query("SELECT * FROM gebr WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row11=mysql_fetch_array($inv11);
 $inv12=mysql_query("SELECT * FROM cred WHERE id='".$row11['ref1']."'") or die(mysql_error());
 $row12=mysql_fetch_array($inv12);
 $refsaldo1=$row12['saldo']+0.09;
 $refopbr1=$row12['refopbrengst']+0.09;
 $reftot1=$row12['totaal']+0.09;
 $inv13=mysql_query("SELECT * FROM gebr WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row13=mysql_fetch_array($inv11);
 $inv14=mysql_query("SELECT * FROM cred WHERE id='".$row13['ref2']."'") or die(mysql_error());
 $row14=mysql_fetch_array($inv14);
 $refsaldo2=$row14['saldo']+0.045;
 $refopbr2=$row14['refopbrengst']+0.045;
 $reftot2=$row14['totaal']+0.045;
 $inv15=mysql_query("UPDATE cred SET saldo='$refsaldo1', totaal='$reftot1', refopbrengst='$refopbr1' WHERE id='".$row11['ref1']."'") or die(mysql_error());
 $inv16=mysql_query("UPDATE cred SET saldo='$refsaldo2', totaal='$reftot2', refopbrengst='$refopbr2' WHERE id='".$row13['ref2']."'") or die(mysql_error());
 $site1=$row1['site'];
 echo ("<iframe src=\"$site1\" seamless height=\"100%\" width=\"100%\">");
 }
}

if(isset($_GET[kl1])) {
$kl1=protect($_GET['kl1']);
$inv24=mysql_query("SELECT * FROM klik WHERE code='$kl1' and '".$_SESSION['uid']."'=gebr and sec=3600") or die(mysql_error());
 if (mysql_num_rows($inv24) > 0) {
 echo ('Je hebt deze link al bezocht, sluit deze pagina en probeer een andere link, om zo clikies te verdienen.');
 }

 else {
 $inv31=mysql_query("SELECT * FROM admin") or die(mysql_error());
 $row31 = mysql_fetch_array($inv31);
 $totkliks=$row31['bez']+1;
 $inv32=mysql_query("UPDATE admin SET bez='$totkliks'") or die(mysql_error());
 $inv28=mysql_query("UPDATE cred SET lklik='$tijd2' WHERE id='".$gebr['id']."'") or die(mysql_error());
 $inv5=mysql_query("SELECT * FROM sites WHERE code='$kl1'") or die(mysql_error());
 $row5 = mysql_fetch_array($inv5);
 $gehad1=$row5['gehad']+1;
 $kliks1=$row5['kl1']-1;
 $inv6=mysql_query("UPDATE sites SET kl1='$kliks1' WHERE code='$kl1'") or die(mysql_error());
 $inv23=mysql_query("UPDATE sites SET gehad='$gehad1' WHERE code='$kl1'") or die(mysql_error());
 $inv7=mysql_query("SELECT * FROM cred WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row7 = mysql_fetch_array($inv7);
 $verd=$row7['saldo']+0.27+$bonus;
 $klikopbr=$row7['klikopbr']+0.27;
 $tot=$row7['totaal']+0.27+$bonus;
 $overig=$row7['overig']+$bonus;
 $inv8=mysql_query("UPDATE cred SET saldo='$verd', totaal='$tot', klikopbr='$klikopbr', overig='$overig' WHERE id='".$gebr['id']."'") or die(mysql_error());
 $tijd=time();
 $inv10 = mysql_query("INSERT INTO klik (gebr, tijd, sec, code) VALUES ('".$_SESSION['uid']."', '$tijd',  3600, '$kl1')") or die(mysql_error()); !!!!!!!!!! hier zit de fout !!!!!!!!!!!!!!!!!!
 $inv17=mysql_query("SELECT * FROM gebr WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row17=mysql_fetch_array($inv17);
 $inv18=mysql_query("SELECT * FROM cred WHERE id='".$row17['ref1']."'") or die(mysql_error());
 $row18=mysql_fetch_array($inv18);
 $refsaldo1=$row18['saldo']+0.027;
 $refopbr1=$row18['refopbrengst']+0.027;
 $reftot1=$row18['totaal']+0.027;
 $inv19=mysql_query("SELECT * FROM gebr WHERE id='".$gebr['id']."'") or die(mysql_error());
 $row19=mysql_fetch_array($inv19);
 $inv20=mysql_query("SELECT * FROM cred WHERE id='".$row19['ref2']."'") or die(mysql_error());
 $row20=mysql_fetch_array($inv20);
 $refsaldo2=$row20['saldo']+0.014;
 $refopbr2=$row20['refopbrengst']+0.014;
 $reftot2=$row20['totaal']+0.014;
 $inv21=mysql_query("UPDATE cred SET saldo='$refsaldo1', totaal='$reftot1', refopbrengst='$refopbr1' WHERE id='".$row17['ref1']."'") or die(mysql_error());
 $inv22=mysql_query("UPDATE cred SET saldo='$refsaldo2', totaal='$reftot2', refopbrengst='$refopbr2' WHERE id='".$row19['ref2']."'") or die(mysql_error());
 $site2=$row5['site'];
 echo ("<iframe src=\"$site2\" seamless height=\"100%\" width=\"100%\"></iframe>");
 }
}

?>


Alvast bedankt
Gewijzigd op 07/05/2013 23:27:51 door Louis Deconinck
 
PHP hulp

PHP hulp

27/09/2021 00:59:41
 
- Ariën -
Beheerder

- Ariën -

07/05/2013 23:28:02
Quote Anchor link
Als ik de code zie, zou ik liever met een schone lei beginnen, want ik kan me voorstellen dat je de fout niet makkelijk kan vinden, met die wirwar van getalletjes in de variabelen en de vele onnodige queries.
Niet bepaald overzichtelijk te noemen....
Gewijzigd op 07/05/2013 23:30:30 door - Ariën -
 
Louis Deconinck

Louis Deconinck

07/05/2013 23:32:18
Quote Anchor link
Hoe kan ik dit dan inzichtelijker maken?
 
- Ariën -
Beheerder

- Ariën -

07/05/2013 23:56:18
Quote Anchor link
Niet onnodige query's aanmaken, probeer JOINS te gebruiken, goede variabelen gebruiken die aangeven waar ze voor dienen en wat er voor soort data in zit (integer, array, string etc..).

Op Google zijn wel tips te vinden voor overzichtelijk programmeren.
 
Erwin H

Erwin H

08/05/2013 10:55:46
Quote Anchor link
@Aar, dat is niet de eerste keer dat dergelijke opmerkingen over dit script zijn gemaakt....

@TS misschien handig als je ook aangeeft WAT de fout dan is....?
 
- Ariën -
Beheerder

- Ariën -

08/05/2013 10:59:45
Quote Anchor link
En dan wil ik voor Louis even refereren naar Erwins vorige reactie.
 
Erwin H

Erwin H

08/05/2013 11:22:46
Quote Anchor link
En ik heb ook wel eens eerder opmerkingen gemaakt over het feit dat je niet twee keer een update statement hoeft uit te voeren op hetzelfde record, maar dat dat in 1 keer kan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
//Dus niet:
$inv2=mysql_query("UPDATE sites SET kl24='$kliks24' WHERE code='$kl24'") or die(mysql_error());
$inv24=mysql_query("UPDATE sites SET gehad='$gehad24' WHERE code='$kl24'") or die(mysql_error());
//maar:
$inv2=mysql_query("UPDATE sites SET kl24='$kliks24', gehad='$gehad24' WHERE code='$kl24'") or die(mysql_error());
?>

Of dat je voor het ophogen van een getal in een database geen twee queries nodig hebt, maar maar 1:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
//dus niet
$inv29=mysql_query("SELECT * FROM admin") or die(mysql_error());
$row29 = mysql_fetch_array($inv29);
$totkliks=$row29['bez']+1;
$inv30=mysql_query("UPDATE admin SET bez='$totkliks'") or die(mysql_error());
//maar:
$inv30=mysql_query("UPDATE admin SET bez=bez+1") or die(mysql_error());
?>

(en dan laat ik de gebruikelijke opmerkingen over buiten quotes halen en geen die() gebruiken nog weg).

Al met al heb ik niet echt het idee dat TS ook daadwerkelijk iets wil doen om zijn scripts te verbeteren....
Gewijzigd op 08/05/2013 11:25:41 door Erwin H
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.