Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]/[mysql] - Problem z query
Forum PHP.pl > Forum > Przedszkole
andy84
Potrzebuje zeby ktos zucil okiem na to i doradzil jezeli cos jest zle ;/
ja juz przegladalem reszte kodu gdzie za wiele nie ma do poprawy a nadal nie moge zapisac danych do bazy - jak ktos mogl by dac jakis koment na ten temat ewentual nie pokazac co jest do poprawy dzieki wielkie

  1. <?php
  2. $insertQuery = "INSERT INTO cmsarticles (title,tagline,section,thearticle) VALUES (".
  3. "'".$HTTP_POST_VARS['title']."', ".
  4. "'".$HTTP_POST_VARS['tagline']."', ".
  5. $HTTP_POST_VARS['section'].", ".
  6. "'".$HTTP_POST_VARS['thearticle']."')";
  7. ?>
cornholio666
pierwsze przeczytaj http://forum.php.pl/index.php?showtopic=61...amp;mode=linear
Krzasz
1. użyj mysql_query($insertQuer); niżej
2. ".$HTTP_POST_VARS['tagline']."', stosuj zamiast tego $_POST[tagline] bez apostrofów!
3. dodawaj teksty tak '".addslashes($_POST[tagline])."'
morwo
Najpierw poczytaj (z tego, co sie orientuje, to nie stosuje sie juz $HTTP_POST_VARS), tak jak cornholio666 poradzil, a pozniej mozesz sprobowac:

  1. <?php
  2. $insertQuery = mysql_query("INSERT INTO `cmsarticles` VALUES ('$HTTP_POST_VARS['title']', '$HTTP_POST_VARS['tagline']', '$HTTP_POST_VARS['section']', '$HTTP_POST_VARS['thearticle']')");
  3. ?>


aczkowliek, nie wiem, czy zadziala ze wzgledu na te dlugie nazwy zmiennych, lepiej je sobie zawsze skrocic tongue.gif

  1. <?php
  2. $title=$_POST['title'];
  3. $tagline=$_POST['tagline'];
  4. $section=$_POST['section'];
  5. $thearticle=$_POST['thearticle'];
  6. $insertQuery = mysql_query("INSERT INTO `cmsarticles` VALUES ('$title', '$tagline', '$section', '$'thearticle')");
  7. ?>
cornholio666
Cytat
no dobra $_POST uzywam ale chce sie nauczyc tez uzywania $HTTP_post_vars


http://forum.php.pl/index.php?showtopic=61...amp;mode=linear
andy84
@morwo zrobilem w ten sposob:
[php]
$title=$_POST['title'];
$tagline=$_POST['tagline'];
$section=$_POST['section'];
$thearticle=$_POST['thearticle'];

$insertQuery = "INSERT INTO cmsarticles VALUES ('0','".$title."', '".$tagline."', '".$section."', '".$thearticle."')";

smiga dzieki za pomoc
Kicok
Cytat
stosuj zamiast tego $_POST[tagline] bez apostrofów!


[OT]
Jeśli się używa zapisu bez apostrofów: $_POST[tagline] to PHP najpierw będzie szukał stałej tagline (której najprawdopodobniej nie znajdzie) w związku z czym wygeneruje wyjątek E_NOTICE, a dopiero potem przypisze zamiast tej stałej jej nazwę.

No chyba że kogoś nie interesuje spadek wydajności, a wyjątki notice uważa za mało ważne zawracanie głowy duperelami, które najlepiej wyłączyć przez error_reporting()
[/OT]



Cytat
$insertQuery = "INSERT INTO cmsarticles VALUES ('0','".$title."', '".$tagline."', '".$section."', '".$thearticle."')";


Jeśli w pierwszej kolumnie trzymasz identyfikator artykułu, to kolumna ta powinna mieć ustawione auto_increment. W takim wypadku nie powinno się nic do tej kolumny wpisywać - wypełni się ona sama.

Spróbuj takie zapytanie:
  1. <?php
  2.  
  3. $insertQuery = "INSERT INTO `cmsarticles` (`title`, `tagline`, `section`, `thearticle`) VALUES ('{$_POST['title']}', '{$_POST['tagline']}', '{$_POST['section']}', '{$_POST['thearticle']}')";
  4.  
  5. $result = mysql_query( $insertQuery ) or die( mysql_error() );
  6.  
  7.  
  8. ?>
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.