webForumDet fria alternativet

enkelt script för att skriva ut händelse

PHP

36 svar · 1 107 visningar · startad av richardjoha · sida 2 av 2

Frågan, av richardjoha

Jag har tänkt att göra ett enkelt skript som skriver ut en händelse exempelvis en match så det som jag vill ska skrivas ut är: Lag1 - Lag2 datum plats klockslag. låter kanske väldigt simpelt för de flesta men skulle behöva lite tips på hur jag ska gå tillväga. Är nybörjare inom PHP och vet inte riktigt hur jag ska börja :) mvh Richard

Läs frågan i sin helhet →
Medlem sedan okt. 2005787 inlägg
#21

Nytt felmedelande:
Column count doesn't match value count at row 1

Jag har ju 6 fält i databasen, id, hemma, borta, plats, datum, tid

men måste jag skriva ut Id också?
Jag vill ju inte att det ska synas något id i filen kommandematch.php

Medlem sedan juni 200032 967 inlägg
#22

men måste jag skriva ut Id också?
Jag vill ju inte att det ska synas något id i filen kommandematch.php

Nej, du få hämta precis vad du vill. Exakt hur ser SQL-frågan ut där du får det felmeddelandet?

Medlem sedan okt. 2005787 inlägg
#23

@nders skrev:

Exakt hur ser SQL-frågan ut där du får det felmeddelandet?

-- --------------------------------------------------------

--
-- Struktur för tabell `kommande`
--

CREATE TABLE `kommande` (
`id` int(11) NOT NULL auto_increment,
`hemma` varchar(50) NOT NULL default '',
`borta` varchar(50) NOT NULL default '',
`plats` varchar(50) NOT NULL default '',
`datum` date NOT NULL default '0000-00-00',
`tid` varchar(4) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Data i tabell `kommande`
--

Medlem sedan aug. 20002 975 inlägg
#24

richardjoha skrev:

Jag har ju 6 fält i databasen, id, hemma, borta, plats, datum, tid

Men du har sju värden i VALUES().

Det du visar ovan är förresten din tabellstruktur, inte SQL-frågan som ger ditt felmeddelande.

Medlem sedan okt. 2005787 inlägg
#25

Matte skrev:

Men du har sju värden i VALUES().

Det du visar ovan är förresten din tabellstruktur, inte SQL-frågan som ger ditt felmeddelande.

Jag är inte säker på vilken del av koden det är som felar. Hur visar jag SQL-frågan?

Medlem sedan aug. 20002 975 inlägg
#26

richardjoha skrev:

Jag är inte säker på vilken del av koden det är som felar. Hur visar jag SQL-frågan?

echo $sql;

Det är sannolikt den här SQL-frågan som spökar:

$sql = "INSERT INTO $dbtable VALUES  ('','".$_POST['hemma']."', '".$_POST['borta']."', '".$_POST['plats']."', '".$_POST['datum']."', '".$_POST['tid']."', CURDATE())";

Det ser tveksamt ut om CURDATE egentligen hör hemma i denna SQL-fråga.

För att lättare kunna se din SQL-fråga, vänj dig vid att också skriva i kolumn-namnen, typ:

$sql = "
  INSERT INTO $dbtable (hemma, borta, plats, datum, tid)
  VALUES  ('".$_POST['hemma']."', '".$_POST['borta']."', '".$_POST['plats']."', '".$_POST['datum']."', '".$_POST['tid']."')
";

Är nu det datum du skickar med $_POST['datum'] av formatet YYYY-MM-DD ?

Medlem sedan okt. 2005787 inlägg
#27

Bytte till denna koden:

$sql = " 
  INSERT INTO $dbtable (hemma, borta, plats, datum, tid) 
  VALUES  ('".$_POST['hemma']."', '".$_POST['borta']."', '".$_POST['plats']."', '".$_POST['datum']."', '".$_POST['tid']."') 
";

och får inget felmedelande men det är fortfarande inget som skrivs ut.

svaret på SQL-frågan: Query was empty

Medlem sedan aug. 20002 975 inlägg
#28

Kolla först i phpMyAdmin att något skrivits till databasen.

Och hur såg koden ut för att du skulle få det felmeddelandet ?

Medlem sedan okt. 2005787 inlägg
#29

Matte skrev:

Kolla först i phpMyAdmin att något skrivits till databasen.

Och hur såg koden ut för att du skulle få det felmeddelandet ?

  1. japp det lagras i databasen.

  2. jag skrev echo $sql; istället för

$sql = " 
  INSERT INTO $dbtable (hemma, borta, plats, datum, tid) 
  VALUES  ('".$_POST['hemma']."', '".$_POST['borta']."', '".$_POST['plats']."', '".$_POST['datum']."', '".$_POST['tid']."') 
";
Medlem sedan okt. 2005787 inlägg
#30

ooooo vad jag inte kommer någon vart..

jag gör en fuling.. BUMP.

Medlem sedan aug. 20002 975 inlägg
#31

richardjoha skrev:

jag skrev echo $sql; istället för ...

Inte istället för.
Du ska ha din SQL-fråga kvar, och köra echo på den efter den blivit definierad.

Medlem sedan okt. 2005787 inlägg
#32

Matte skrev:

Inte istället för.
Du ska ha din SQL-fråga kvar, och köra echo på den efter den blivit definierad.

jag skrev till echo framför

 $sql = " 
  INSERT INTO $dbtable (hemma, borta, plats, datum, tid) 
  VALUES  ('".$_POST['hemma']."', '".$_POST['borta']."', '".$_POST['plats']."', '".$_POST['datum']."', '".$_POST['tid']."') 
";

och kunde läsa följande:

INSERT INTO kommande (hemma, borta, plats, datum, tid) VALUES ('asd', 'asda', 'sdasd', 'asd', 'asd')

? fel av mig igen eller?

Medlem sedan aug. 20002 975 inlägg
#33

Visa din justerade kod.

Medlem sedan okt. 2005787 inlägg
Medlem sedan mars 20034 471 inlägg
#35

Nytt felmedelande:
Column count doesn't match value count at row 1

Är det fortfarande det problemet du har eller var har du fastnat nu?

Sedan: Byt lösenord i skriptet omgående om inte det lösenord som står i filen ovan är ändrat till ett dummy-värde!!! Förutom alla hjälpsamma wF-are som tittar på dessa filer finns det inga garantier för att inte mindre hjälpsamma typer också gör det! :o

Är det bara du som kan köra skriptet? Annars kan det vara bra med lite felkoller av att värdet i GET-fälten verkligen innehåller vettig info.

Medlem sedan aug. 20002 975 inlägg
#36

I kommandematch.php har du följande:

SELECT * FROM kommande WHERE datum > now() LIMIT 1
   $result = mysql_query($sql) or die (mysql_error());

Dels kommer detta att ge dig parse error, dels så saknar du anslutning till MySQL.

Ändra till något i stil med:

include 'conn.php';

$sql = "SELECT * FROM kommande WHERE datum > now() LIMIT 1";
$result = mysql_query($sql) or die (mysql_error());

I admin.php har du:

      echo $sql;
      $result = mysql_query($sql) or die (mysql_error());

Här saknas själva SQL-frågan som ska köras.

Medlem sedan jan. 20069 inlägg
#37

Hej!

Är intresserad av att ta del av det färdiga scriptet. Håller själv på med en hemsida åt en crosskille som vill att kommande tävlingar ska visas.

Hur går det? Fick ni ihop det till slut? Lite lat idag, så jag orkar inte läsa alla meddelanden =)

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)