Avatar billede nemlig Professor
26. maj 2007 - 16:24 Der er 9 kommentarer og
1 løsning

PHP kode til ændring af database

Hej.
Jeg vil gerne via noget PHP-kode ændre i en MySQL-database
Jeg kan finde ud af det via PHPMyAdmin, men vil gerne via PHP.

Jeg starter med at connecte og prøver derefter at tilføje et felt. (jeg har mange ændringer, og vil lige have det grundlæggende til at virke.
Hvad gør jeg forkert?
Avatar billede nemlig Professor
26. maj 2007 - 16:59 #1
Ups - glemte at smide koden:
<?php
$dbhost = "localhost"; // Angiv din host til MySQL?
$dbuname = "root"; // Dit Brugernavn?
$dbpass = ""; // Dit Password?
$dbname = "sonder"; // Angiv Database navn
mysql_connect("$dbhost","$dbuname","$dbpass") or die (mysql_error());
mysql_select_db("$dbname") or die (mysql_error());


ALTER TABLE 'kalender_aftale' ADD 'test2' VARCHAR( 255 ) NOT NULL AFTER 'id';

?>
Avatar billede arne_v Ekspert
26. maj 2007 - 17:02 #2
den SQL sætning skal ind som et argument til mysql_query
Avatar billede arne_v Ekspert
26. maj 2007 - 17:03 #3
og så skal single dapperne hælde mod venstre ikke være lige (eller helt undlades)
Avatar billede arne_v Ekspert
26. maj 2007 - 17:04 #4
mysql_query("ALTER TABLE `kalender_aftale` ADD `test2` VARCHAR( 255 ) NOT NULL AFTER `id`")
Avatar billede arne_v Ekspert
26. maj 2007 - 17:04 #5
jeg synes iøvrigt at du skulle udelade ``
Avatar billede nemlig Professor
26. maj 2007 - 17:26 #6
Super Arne_V. Så virker det. Manne tak.
Kan du svare på 1 ting mere - så forhøjer jeg lige pointene.
Jeg har 3 felter i MySQL, som hedder dag, maaned, aar.
Dem vil jeg gerne samle i 1 datofelt, med syntax aaaa-mm-dd.
Har du lige opskriften på, hvordan jeg i PHP samler de 3 felter til 1 datofelt incl. bindestreger. Også gerne med foranstående nul i dato og måned, hvis det kun er 1 ciffer.
Jeg kan sagtens hente felterne fra MySQL og indsætte feltet.
Avatar billede arne_v Ekspert
26. maj 2007 - 17:34 #7
prøv:

UPDATE tabel SET tid = CONCAT(aar,'-',maaned,'-',dag)

eller

UPDATE tabel SET tid = CONCAT(aar,'-',LPAD(maaned,2,'0'),'-',LPAD(dag,2,'0'))
Avatar billede arne_v Ekspert
26. maj 2007 - 17:35 #8
overvej evt. at bruge et DATETIME felt i.s.f. et VARCHAR felt
Avatar billede arne_v Ekspert
26. maj 2007 - 17:35 #9
og et svar
Avatar billede nemlig Professor
26. maj 2007 - 17:53 #10
Jamen så funger det hele - og jeg bruger typen "date" til datoen.
Tusind tak for præcis hjælp.
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
Computerworld tilbyder specialiserede kurser i database-management

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