webForumDet fria alternativet

Problem att lägga in värden i en sql-databas

3 svar · 561 visningar · startad av jin83

jin83Medlem sedan jan. 20095 inlägg
#1

Hej!

Har inte arbetat med sql på ett tag och har problem att lägga in värden i en tabell jag skapat.

Jag följer en guide på Google maps som jag utgår från. Har skapat denna tabell:

CREATE TABLE `markers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 60 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`lat` FLOAT( 10, 6 ) NOT NULL ,
`lng` FLOAT( 10, 6 ) NOT NULL ,
`type` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM ;

Jag använder ett gränssnitt för att mata in sql-kommanden som jag inte tidigare haft problem med.

Jag vill mata in följande värden:

Pan Africa Market,"1521 1st Ave, Seattle, WA",47.608941,-122.340145,restaurant

Så här vill man på Googles guide att man ska mata in data med sql-kommandon:

INSERT INTO `markers` (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Pan Africa Market', '1521 1st Ave, Seattle, WA', '47.608941', '-122.340145', 'restaurant');

Jag har själv försökt en del egna varianter. Välkomnar förslag på hur man enklast kan få det att fungera.

Kan även tänka mig att använda php-kod istället för att direkt mata in sql-kod genom att gränssnitt.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Vet inte vad du har för krav, men vill du bara fä in datat i databasen kan du använda phpMyAdmin.

jin83Medlem sedan jan. 20095 inlägg
#3

Jag har inte tillgång till php-myadmin för den sql-databasen jag använder.

Kan lägga in data via php-filer eller via ett gränssnitt med sql-kod. Testade nyligen denna php-kod för att lägga in värden men fick det inte att fungera. Kan det ha något att göra med float-värdena?

<?php
$db="******";
$server="*****";
$user="*******";
$pass="********";
 
$connection=mysql_connect($server,$user,$pass);
mysql_select_db($db);

$sql1="INSERT INTO markers ('name', 'address', 'lat', 'lng', 'type') VALUES ('Pan Africa Market', '1521 1st Ave Seattle WA', '47.608941', '-122.340145', 'restaurant')";

print "Testutskrift: $sql1<br />";

if (mysql_query($sql1,$connection)){
	print "Inmatning lyckades";
} else {
	print "Inmatningen misslyckades";
  }

mysql_close($connection);
?>

SQL-kod för att skapa tabellen:

CREATE TABLE `markers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 60 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`lat` FLOAT( 10, 6 ) NOT NULL ,
`lng` FLOAT( 10, 6 ) NOT NULL ,
`type` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM ;

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Först och främst har du fel tecken runt kolumnnamnen. Strängar ska inneslutas i enkelcitat. -> ''
Tabellnamn och kolumnnamn ska (om man vill eller i vissa fall, behöver) stå inneslutna mellan grava accenter. -> ``
Ta antingen bort citaten runt tabellnamnen eller byt ut dem.
Alt 1:

$sql1="INSERT INTO markers (name, address, lat, lng, type) VALUES ('Pan Africa Market', '1521 1st Ave Seattle WA', '47.608941', '-122.340145', 'restaurant')";

Alt 2:

$sql1="INSERT INTO markers (`name`, `address`, `lat`, `lng`, `type`) VALUES ('Pan Africa Market', '1521 1st Ave Seattle WA', '47.608941', '-122.340145', 'restaurant')";
137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)