Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapis do bazy - nie odpowiada wlasciwie
Forum PHP.pl > Forum > Bazy danych > MySQL
andy84
witam mam tutaj sql tabeli ktora utworzylem
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.8.2
  3. --
  4. -- Host: localhost
  5. -- Generation Time: Feb 05, 2007 at 11:04 PM
  6. -- Server version: 5.0.22
  7. -- php Version: 5.1.4
  8. --
  9. -- Database: `dbname`
  10. --
  11.  
  12. -- --------------------------------------------------------
  13.  
  14. --
  15. -- Table structure for table `admin_jobs`
  16. --
  17.  
  18. CREATE TABLE `admin_jobs` (
  19. `ID` int(6) NOT NULL DEFAULT '0',
  20. `title` varchar(20) NOT NULL DEFAULT '',
  21. `location` varchar(15) NOT NULL DEFAULT '',
  22. `position` varchar(15) NOT NULL DEFAULT '',
  23. `duration` varchar(20) NOT NULL DEFAULT '',
  24. `sdesc` varchar(200) NOT NULL DEFAULT '',
  25. `requirements` varchar(1000) NOT NULL DEFAULT '',
  26. `company` varchar(15) NOT NULL DEFAULT '',
  27. PRIMARY KEY (`ID`)
  28. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  29.  
  30. --
  31. -- Dumping data for table `admin_jobs`
  32. --


i nie mam juz pojecia czemu nie moge zapisac do tej utworzonej bazy niczego, lacze sie z nia prawidlowo, przygotowalem forme ktora robi mi submit do tej bazy a tu mam kod ktory jest wywolywany przez forme aby zapisac do bazy
  1. <?php 
  2. include("../../config.inc.php");
  3.  
  4. $company=$_POST['company'];
  5. $title=$_POST['title'];
  6. $location=$_POST['location'];
  7. $position=$_POST['position'];
  8. $sdesc=$_POST['sdesc'];
  9. $requirements=$_POST['requirements'];
  10.  
  11. mysql_connect($host,$user,$password);
  12. @mysql_select_db($database) or die ("Unable to select database");
  13.  
  14. $query = "INSERT INTO admin_jobs VALUES ('','$company','$title','$location','$position','$sdesc','$requirements')";
  15. mysql_query($query);
  16.  
  17. ?>

ucze sie z jednego tutoriala ktory to jak dla mnie ma latwo opisane jednak nie zupelnei to dziala moze ktos mi pomoc wskazac blad questionmark.gif? - ja osobiscie uwazam ze cos skaszanilem przy bazie ale to ja smile.gif
spryciula
spróbuj tak:


  1. <?php
  2. $query = "INSERT INTO admin_jobs (`company`,`title`, `location`, `position`, `sdesc`, `requirements`) VALUES ('$company','$title','$location','$position','$sdesc','$requirements')";
  3. mysql_query($query) or die (mysql_error());
  4. ?>


a poza tym, jak udało ci się stworzyć tabele z takim polem
`requirements` varchar(1000) NOT NULL default '', pole varchar może mieć max 255 znaków

po druugie, czy ID nie powinno być auto_increment, ale może tego nie potrzebujesz,

zawsze możesz sobie wyświetlić komunikat błędu, za pomocą

  1. <?php
  2. or die (mysql_error())
  3. ?>
frickle
Musisz w zapytaniu wziąć to wszystko w cudzysłowy i na dodatek dać kropki jako operatory konkatenacji ciągu. Połączenie apostrofów i cudzysłowów jest konieczne bo to wszystko to są zmienne tekstowe, i w zapytaniu muszą być w apostrofach.

  1. <?php
  2. $query = "INSERT INTO admin_jobs VALUES ('','".$company."','".$title."','".$location."','".$position."','".$sdesc."','".$requirements."')";
  3. ?>


a efektem tego dla SQL-a będzie taki ciąg:

  1. INSERT INTO admin_jobs VALUES ('','company','title','location','position','sdesc','requirements')


Oczywiście wartościami będą wartości zmiennych.
A jak to nie pomoże to możesz jeszcze spróbować tak:

  1. <?php
  2. $query = "INSERT INTO admin_jobs (company,title,location,position,sdesc,reqiurements) VALUES ('".$company."','".$title."','".$location."','".$position."','".$sdesc."','".$requirements."')";
  3. ?>


wtedy pokazujesz mu już dokładnie co ma gdzie wstawić. I powinno działać.

Aha, nie wiem czemu BBCode wstawia mi przed cudzysłowami slashe. Ich ma tam nie być.
andy84
Cytat(spryciula @ 5.02.2007, 23:29:18 ) *
spróbuj tak:
  1. <?php
  2. $query = "INSERT INTO admin_jobs (`company`,`title`, `location`, `position`, `sdesc`, `requirements`) VALUES ('$company','$title','$location','$position','$sdesc','$requirements')";
  3. mysql_query($query) or die (mysql_error());
  4. ?>


a poza tym, jak udało ci się stworzyć tabele z takim polem
`requirements` varchar(1000) NOT NULL default '', pole varchar może mieć max 255 znaków

po druugie, czy ID nie powinno być auto_increment, ale może tego nie potrzebujesz,

zawsze możesz sobie wyświetlić komunikat błędu, za pomocą

  1. <?php
  2. or die (mysql_error())
  3. ?>



Dzieki za przypomnienie o wyrzucaniu bledu - to jest co dostaje obecnie smile.gif sql poprawilem jest teraz jak nalezy "Column count doesn't match value count at row 1" tu jest blad ide popatrzec nad skryptem zapisu tak jak fricle radzil dzieki za pomoc smile.gif

Ok sprawdzilem te sposoby zapisu jednak ciagle dostaje 'Column count doesn't match value count at row 1' ide na google cos poszperac jak cos to piszcie pozdrawiam

slepy jestem fricle sory smile.gif - respect zapomnialem o '' na poczatku przed '".$company"' teraz smiga dzieki za pomoc
  1. <?php
  2. $query = "INSERT INTO admin_jobs VALUES ('','".$company."','".$title."','".$location."','".$position."','".$duration."','".$sdesc."','".$requirements."')";
  3.  
  4. mysql_query($query) or die (mysql_error());
  5. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.