Avatar billede bent_ustag Nybegynder
05. februar 2001 - 10:50 Der er 14 kommentarer og
1 løsning

Jeg er et probelm med MySQL i php

Jeg er ved at lave en gæstebog som skulde være til flere brugere. men jeg har fådet et problem den første virker fint !:

$sql = \"insert into mig(nick,mail,text,ip,url,time)
        values(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',now())\";

men når jeg så vil bruge en variabel går det galt ...
jeg her prøvet sådan her.:

$sql = \"insert into \" . $user . \"(nick,mail,text,ip,url,time)
        values(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',now())\";

og jeg har prøvet sådan her :

$sql = \"insert into $user(nick,mail,text,ip,url,time)
        values(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',now())\";

nem ingen af dem vil virke hvad der er galt.
ps. fejl koden er :

Kunne ikke udføre: insert into (nick,mail,text,ip,url,time) values(\'d\',\'d\',\'d\',\'19.15.54.95\',\'d\',now())
Fejlen er: You have an error in your SQL syntax near \'(nick,mail,text,ip,url,time) values(\'d\',\'d\',\'d\',\'19.15.54.95\',\'d\',no\' at line 1

den er ens ved bægge forsøg.
og jeg har chekket om der overhovet er noget indhold i min variabel .. og det er der.

HJELP!!!
Avatar billede codebase Praktikant
05. februar 2001 - 10:53 #1
hvilke type indsætter du i??

time = varchar / int eller timestap ??

hvis det er en timestap skal du ikke indsætte denne variabel, den laves automatisk!

-codebase
Avatar billede codebase Praktikant
05. februar 2001 - 10:55 #2
ellers skal der være \'\' om din variabler

nu:
(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',now())\";


rettelse
(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',\'now()\')\";


-codebase


Avatar billede uller Nybegynder
05. februar 2001 - 10:55 #3
det ser ud til at din \"$user\" variabel er tom...
Avatar billede codebase Praktikant
05. februar 2001 - 10:57 #4
prøv lige denne her:
(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',\'now()\')\"
or die(mysql_error());

-codebase
Avatar billede codebase Praktikant
05. februar 2001 - 10:58 #5
-->ULLER hvorfor det ??
Avatar billede speedy Nybegynder
05. februar 2001 - 11:09 #6
bent>> Nu har du vel husket at sørge for at der er oprettet en tabel som hedder det som der står i $user ?

/SpEeDy
Avatar billede uller Nybegynder
05. februar 2001 - 11:11 #7
du skriver at fejlen er:
- - - quote - - -
Kunne ikke udføre: insert into (nick,mail,text,ip,url,time) values(\'d\',\'d\',\'d\',\'19.15.54.95\',\'d\',now())
- - - quote - - -

en insert streng skal have dette format:
\"INSERT INTO tabel_navn () VALUES ()\"
tabelnavnet mangler...
Avatar billede codebase Praktikant
05. februar 2001 - 11:14 #8
--> uller tabellen hedder mig, i det føste script og $user i den anden tabel!


Den skriver jo også, at fejlen ligger i insert near (nick,mail,text,ip,url,time) bla..

dvs. at der mangler \' \' om time :)

-codebase
Avatar billede bent_ustag Nybegynder
05. februar 2001 - 11:16 #9
mit enste problem er at $user variablen ikke udskriver sin verdig som er : table1 og når jeg så skriver table1 så virker det hele FINT !!!
og nej variablen er ikke tom !!
det var noget af det første jeg chekkede ...
Avatar billede bent_ustag Nybegynder
05. februar 2001 - 11:20 #10
med hensyn til now skal der er IKKE stå
\'now()\' men now()

da jeg bruger den interne tids funtikon i MySQL
Avatar billede codebase Praktikant
05. februar 2001 - 11:22 #11
oki..

men vi nok se mere kode, hvis vi skal hjælpe dig med dit prob.

-codebase
Avatar billede bent_ustag Nybegynder
05. februar 2001 - 11:33 #12
okay ... her er min SQL funtikon:


function sql($query) {
  $resultat = mysql_query($query);

  if(!$resultat) {
    udskriv_fejl(\"Kunne ikke udføre: <em>$query</em>\");
  }
}

og her er add entry function:

function skriv_i_gbog($nick, $mail, $text, $url) {

    global $REMOTE_ADDR;
   
    $ip = $REMOTE_ADDR;

    $sql = \"insert into $user(nick,mail,text,ip,url,time)
        values(\'$nick\',\'$mail\',\'$text\',\'$ip\',\'$url\',now())\";
   

    gb_mysql();
    sql($sql);
    luk_forbindelse();

}

Avatar billede bent_ustag Nybegynder
05. februar 2001 - 11:35 #13
og her er den del som udskriver mine data (den virker 100%)

$sql = \"select id, nick, mail, url, date_format(time, \'%e/%c %Y, %H:%i\') as time, text from $user order by id desc limit $start_nr, $antal_ad_gangen\";
Avatar billede bent_ustag Nybegynder
05. februar 2001 - 11:53 #14
jeg har løst det selv men jeg syntes at du gider bruge din tid på mine spørgsmål så du får point aligevel...
Avatar billede codebase Praktikant
05. februar 2001 - 11:55 #15
:-) det kan jeg kun takke for :)

Men hvad var dit prob. så ??

-codeb@se
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