Avatar billede jehomi Nybegynder
02. juli 2003 - 16:42 Der er 23 kommentarer

kan ikke skrive til database

hej.
Jeg har en kode som skriver til en database, eller burde gøre. Når jeg udfører koden herunder kommer der intet til databasen ??
Kan ikke se hvorfor.



<?php



$IPnr = getenv('REMOTE_ADDR'); # Henter brugerens aktuelle IP

echo "$IPnr";

if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "1000") {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 1000 kb
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
 
    $sti = "/test/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
    $temparr = explode(".", $files);
    $temparr[count($temparr)-2] = time();
    $files = implode(".", $temparr);
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    $connection = mysql_pconnect("localhost","root");
    mysql_select_db("annonce");
    mysql_query("insert into indryk (adresse, postnr, by, nr, tlfnr, email, type, kate, annoncetekst, pris, filnavn, tekst, dato) values ('$_POST[adresse]', '$_POST[postnr]', '$_POST[by]', '$_POST[nr]', '$_POST[tlfnr]', '$_POST[email]', '$_POST[type]', '$_POST[kate]', '$_POST[annoncetekst]', '$_POST[pris]', '$files','$_POST[tekst]', now())");
    echo "Din fil er nu uploadet<br><br>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">


<BODY><table bgcolor="#FFFFFF" width="500" align="center">
<tr>
        <td width="120"><b>Adresse:</b></td>
        <td><input type="text" name="adresse"></td>
</tr>

<tr>
        <td width="120"><b>Post nr.:</b></td>
        <td><input type="text" name="postnr" value="<?php echo "$postnr"; ?>"></td>
</tr>

<tr>
        <td width="120"><b>By:</b></td>
        <td><input type="text" name="by" value="<?php echo "$by"; ?>"></td>
</tr>

<tr>
        <td width="120"><b>nr.:</b></td>
        <td><input type="text" name="nr" value="<?php echo "$nr"; ?>"></td>
</tr>

<tr>
        <td width="120"><b>Telefon nr.:</b></td>
        <td><input type="text" name="tlfnr" value="<?php echo "$tlfnr"; ?>"></td>
</tr>

<tr>
        <td width="120"><b>Email.:</b></td>
        <td><input type="text" name="email" value="<?php echo "$email"; ?>"></td>
</tr>
<tr>
        <td><br></td>
        <td><br></td>
</tr>

<tr>
        <td width="120"><b>Type:</b></td>
        <td><select name="type">
                    <option value="salg">Salg</option>
                    <option value="koeb">Koeb</option>
        </select></td>
</tr>

<tr>
        <td width="180"><b>Kategori:</b></td>
        <td><select name="kate" value="<?php echo "$kate"; ?>">>
                    <option value="book"> Boeger</option>
                    <option value="cd">CD'er</option>
                    <option value="computer">Computer</option>
                    <option value="diverse">Diverse</option>
                    <option value="film">DVD- og videofilm</option>
                    <option value="lommeregner">Lommeregner</option>
                    <option value="mobil">Mobiltelefoner</option>
        </select></td>
</tr>





<tr>
        <td width="120"><b>Annoncetekst:</b></td>
        <td><textarea cols="35" rows="7" name="annoncetekst" maxlength="400"></textarea></td>
</tr>

<tr>
        <td width="120"></td>
        <td>Max 400 tegn</td>
</tr>

<tr>
        <td width="120"><input type="hidden" name="user"></td><br></td>
        <td><br></td>
</tr>


<tr>
        <td width="120"><b>Pris:</b></td>
        <td><input type="text" name="pris"></td>
</tr>

<tr>
        <td width="120"></td>
        <td>Pris i hele kroner</td>
</tr>

<tr>
        <td width="120"><br></td>
        <td><br></td>
</tr>

<tr>
        <td width="120"><b>Upload billede:</b></td>
        <td><input type="file" name="upfil"></td>
</tr>

<tr>
        <td width="120"><b>Tekst til billede:</b></td>
        <td><input type="text" name="tekst"></td>   
</tr>
<tr>
        <td width="120"></td>
        <td align="center"><input type="submit" value="send" name="up"></td>
</tr>

</table>
</form>
Avatar billede schaefner Juniormester
02. juli 2003 - 16:44 #1
Prøv:
mysql_query("insert into indryk (adresse, postnr, `by`, nr, tlfnr, email, type, kate, annoncetekst, pris, filnavn, tekst, dato) values ('$_POST[adresse]', '$_POST[postnr]', '$_POST[by]', '$_POST[nr]', '$_POST[tlfnr]', '$_POST[email]', '$_POST[type]', '$_POST[kate]', '$_POST[annoncetekst]', '$_POST[pris]', '$files','$_POST[tekst]', now())") or die(mysql_error());
Avatar billede jehomi Nybegynder
02. juli 2003 - 16:44 #2
der kan ikke være meget galt, da det er en eksisterende kode jeg har føjet noget til, og det andet virkede!!
Avatar billede schaefner Juniormester
02. juli 2003 - 16:45 #3
umiddelbart er det fordi du har en kolonne i din tabel som hedder by, og det er et reserveret ord.
Avatar billede jehomi Nybegynder
02. juli 2003 - 16:51 #4
har ændret det til bynavn og der kommer stadig ikke noget i databasen ??
Avatar billede schaefner Juniormester
02. juli 2003 - 16:53 #5
Prøv:
mysql_query("insert into indryk (adresse, postnr, bynavn, nr, tlfnr, email, type, kate, annoncetekst, pris, filnavn, tekst, dato) values ('$_POST[adresse]', '$_POST[postnr]', '$_POST[by]', '$_POST[nr]', '$_POST[tlfnr]', '$_POST[email]', '$_POST[type]', '$_POST[kate]', '$_POST[annoncetekst]', '$_POST[pris]', '$files','$_POST[tekst]', now())") or die(mysql_error());
Avatar billede jehomi Nybegynder
02. juli 2003 - 16:57 #6
har prøver virker ikke.
man den skriver :  127.0.0.1Unknown column 'dato' in 'field list'
Avatar billede schaefner Juniormester
02. juli 2003 - 17:00 #7
jamen, det var jo derfor du skulle prøve. Nu får du jo en fejl-besked. Har du en kolonne i tabellen kaldet dato?
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:04 #8
ja det har jeg
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:08 #9
ved ikke helt om det er fordi dato ikke bliver sat rigtigt i programmet ???
Avatar billede schaefner Juniormester
02. juli 2003 - 17:08 #10
hvordan ser din tabel-struktur ud?
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:16 #11
således :

  Feltnavn Datatype Nulværdi Standardværdi
adresse  varchar(150) Nej   
postnr  int(50) Nej  0 
bynavn  varchar(150) Nej   
nr  varchar(150) Nej   
tlfnr  int(50) Nej  0 
email  varchar(255) Nej   
type  varchar(150) Nej   
kate  varchar(150) Nej   
annoncetekst  text Nej   
pris  int(100) Nej  0 
filnavn  varchar(100) Nej   
tekst  varchar(100) Nej   
dato    varchar(100) Nej
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:20 #12
nu er fejl meddelelsen :

127.0.0.1Column count doesn't match value count at row 1

Jeg lavede om på typen for dato, istedet for datetime satte jeg den til varchar(100)
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:31 #13
ingen der kan sige hvad det betyder i praksis ??
Avatar billede schaefner Juniormester
02. juli 2003 - 17:31 #14
CREATE TABLE indryk (
  adresse varchar(150) NOT NULL default '',
  postnr int(50) NOT NULL default '0',
  bynavn varchar(150) NOT NULL default '',
  nr varchar(150) NOT NULL default '',
  tlfnr int(50) NOT NULL default '0',
  email varchar(250) NOT NULL default '',
  type varchar(150) NOT NULL default '',
  kate varchar(150) NOT NULL default '',
  annoncetekst text NOT NULL,
  pris int(100) NOT NULL default '0',
  filnavn varchar(100) NOT NULL default '',
  tekst varchar(100) NOT NULL default '',
  dato datetime NOT NULL default '0000-00-00 00:00:00'
) TYPE=MyISAM;
Avatar billede schaefner Juniormester
02. juli 2003 - 17:32 #15
den virker fint sammen med din php-kode.
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:37 #16
prøver lige igen ..
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:43 #17
den skriver stadig det med 127.0.0.1Unknown column 'dato' in 'field list'
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:45 #18
og jeg har samme table som du skrev..
Avatar billede jehomi Nybegynder
02. juli 2003 - 17:54 #19
det der type = MyISAM, er det noget man skal anføre når man bruger php admin ??
Avatar billede jehomi Nybegynder
02. juli 2003 - 18:15 #20
ingen gode råd
Avatar billede tipsen Nybegynder
02. juli 2003 - 18:49 #21
02/07-2003 17:20:09: Det betyder at der ikke er overensstemmelse mellem antal felt-/kolonnenavne og antal værdier

02/07-2003 17:43:24: Det betyder at der ikke findes et felt med navnet 'dato' i den pågældende tabel du kigger på.

02/07-2003 17:54:28: MyISAM er tabeltypen og er samtidig default/standardtypen i nyere versioner af MySQL - det betyder at du sandsynligvis ikke behøver at bekymre dig om dette.
Avatar billede jehomi Nybegynder
02. juli 2003 - 22:21 #22
men der er et dato felt
Avatar billede tipsen Nybegynder
02. juli 2003 - 22:47 #23
øjensynligt ikke for php at 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

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