Avatar billede nbj1 Praktikant
21. maj 2008 - 11:01 Der er 25 kommentarer og
1 løsning

php syntax fejl i skriv til mysql

noget det kan se fejlen ?

$AddView = mysql_query("INSERT INTO `" . $TableName . "`
(`Visit_IP`, `Visit_Referer`, `Visit_date`, `Visit_page`)
VALUES
('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', '" . $date . "', '" . $CurrentPage . "', )or die (mysql_error())
");
problemet er der skrives ingen data i databasen.
tabellen ser således ud

CREATE TABLE `stats` (
  `Visit_IP` varchar(255) NOT NULL,
  `Visit_Referer` varchar(255) NOT NULL,
  `Visit_date` varchar(255) NOT NULL,
  `Visit_page` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Avatar billede w13 Novice
21. maj 2008 - 11:03 #1
Det skal vel være sådan her:

$AddView = mysql_query("INSERT INTO '" . $TableName . "' ('Visit_IP', 'Visit_Referer', 'Visit_date', 'Visit_page')
VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', '" . $date . "', '" . $CurrentPage . "')") or die (mysql_error());

og er du sikker på, at $TableName indeholder det rigtige?
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:07 #2
Du bør også overveje at om ikke det er langt bedre at gemme din dato i et dato felt og ikke i et tekst felt.
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:08 #3
ja nu for jeg dette:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''stats' ('Visit_IP', 'Visit_Referer', 'Visit_date', 'Visit_page') VALUES ('80.1' at line 1
Avatar billede w13 Novice
21. maj 2008 - 11:13 #4
Prøv lige at se, hvad der udskrives med:

echo "INSERT INTO '" . $TableName . "' ('Visit_IP', 'Visit_Referer', 'Visit_date', 'Visit_page')
VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', '" . $date . "', '" . $CurrentPage . "')";
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:16 #5
ok det det jeg havde problemer med troede det var løst men dette gir et tomt felt $Refferrer og det er
$Refferrer = (!empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ' ');
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:17 #6
ja dkfire det har jeg lavet om sorry tog table fra den gamle script.
Avatar billede w13 Novice
21. maj 2008 - 11:18 #7
Prøv lige mit forslag.
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:19 #8
før stod der bare $Refferrer = $_SERVER['HTTP_REFERER']; men det giver også error
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:21 #9
det med echo w13 det har jeg skriver ind så kommer der
INSERT INTO 'stats' ('Visit_IP', 'Visit_Referer', 'Visit_date', 'Visit_page') VALUES ('80.197.35.43', ' ', '21-May-2008',
Avatar billede w13 Novice
21. maj 2008 - 11:22 #10
Slutter den bare ved:
'21-May-2008',
?
For så er det jo klart, der kommer fejl.
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:23 #11
ups glemte det sidste 'C:\...\..\.../index.php/index.php')
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:25 #12
tror det er her ....43', ' ', '21.... den tomme '' mellem ip og dato som før skrevet er $Refferrer
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:28 #13
Tror lige vi skal haver ændre lidt inden I går videre.
En tabelnavn skal ikke skrives med ' rundt om, men med `.

$AddView = mysql_query("INSERT INTO `" . $TableName . "` ('Visit_IP', 'Visit_Referer', 'Visit_date', 'Visit_page')
VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', '" . $date . "', '" . $CurrentPage . "')") or die (mysql_error());
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:29 #14
Det samme gælder jo egentlig også for feltnavne:

$AddView = mysql_query("INSERT INTO `" . $TableName . "` (`Visit_IP`, `Visit_Referer`, `Visit_date`, `Visit_page`)
VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', '" . $date . "', '" . $CurrentPage . "')") or die (mysql_error());
Avatar billede w13 Novice
21. maj 2008 - 11:35 #15
Doh, ja.
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:35 #16
lol flot nu skriver den i tabellen ok Visit_Referer`, `Visit_date`, bliver tilføjet som tomme felter
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:37 #17
Hold da op, mit dansk bliver da også dårligere og dårligere.
Håber bare det giver lidt mening det jeg skriver ;-)
Jeg skal nok kigge bedre efter stave og trykfejl næste gang.
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:40 #18
Grunden til at dit Visit_date er tom, skyldes sikkert at du ikke ligger det rigtige format ind i feltet. Bl.a. er det jo ikke en streng og skal derfor ikke have ' rundt om sin værdi.
Prøv evt. at vise din tabels struktur.
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:42 #19
Og så vidt jeg kan se så har du jo i forvejen problemer med at $Refferrer ikke indeholder noget.
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:47 #20
for mig intet problem dkfire med stave fejlne kikker mest kodeen :)
tabel struktur er
CREATE TABLE `stats` (
  `Visit_IP` varchar(255) NOT NULL,
  `Visit_Referer` varchar(255) NOT NULL,
  `Visit_date` date NOT NULL,
min dato ser sådan ud
$date = date("d-M-Y");
og den jeg er meget i tvivl om virker er denne jeg har tilrettet
$Refferrer = (!empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ' ');
  `Visit_page` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Avatar billede nbj1 Praktikant
21. maj 2008 - 11:49 #21
fik da vist lige cuttet dette af
`Visit_page` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Avatar billede dkfire Nybegynder
21. maj 2008 - 11:54 #22
Eftersom du alligevel henter dagsdato, så kan du:

$AddView = mysql_query("INSERT INTO `" . $TableName . "` (`Visit_IP`, `Visit_Referer`, `Visit_date`, `Visit_page`)
VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', '" . $Refferrer . "', NOW(), '" . $CurrentPage . "')") or die (mysql_error());

NOW() er en mysql funktion som indesætter dato og tid for i dag.
Ang. $Refferrer:
$Refferrer = (!empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Ingen reference');
Avatar billede nbj1 Praktikant
21. maj 2008 - 12:02 #23
ok lyder fint nok men tanken var egenligt, men er ikke sikker på det skal laves med $_SERVER['HTTP_REFERER']
men at domæne 1 laver en statistik
dæmæne 2 og 3 osv
Avatar billede nbj1 Praktikant
21. maj 2008 - 16:36 #24
dkfire du må heller gi et svar da du kom med løsningen og tak
Avatar billede dkfire Nybegynder
21. maj 2008 - 16:49 #25
Du skal være klar over at det ikke altid at $_SERVER['HTTP_REFERER'] er sat.
De fleste statistik sider bruger lidt javascript sammen med deres kode for at kunne registrere hvilken som er besøgt.
Men jeg ligger et svar ;-)
Avatar billede nbj1 Praktikant
21. maj 2008 - 21:36 #26
nå ok det må jeg så se om jeg kan finde, udover det fik jeg $_SERVER[HOST'] så jeg kunne skelne mellem hvad side de kom på så rimeligt statestik pt fra 5 domæner lol mangler så x antal mere. men tak til jer begge.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester