Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Dziwne problemy z zapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
kuterka
Witam

Mam takie zapytanko:

generuje je najpierw w php

  1. <?php
  2. $query='INSERT INTO time_alloc (id , user_id , team_id , action_id , hours , date) VALUES (NULL,'
  3.  .$_SESSION['user_id'].','.$_POST['team_id'].','.$action_id.','.$hours.',''.$_POST['date'].'')'; 
  4. $cos=mysql_query($query,$link_up_user) or die (mysql_error());
  5. ?>


zrobilem sobie echo tego zapytania
  1. INSERT INTO time_alloc (id,user_id,team_id,action_id,hours,date) VALUES (NULL,11,13,35,1,'2007-01-05')

i w przegladarce wyglada okey
a jednak MySQL wywala mi takiego bleda

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Zeby bylo dziwniej jak sobie skopiuje to zapytanie to Query Analisera i odpale to nie krzyczy zadnym bledem ladnie leci do bazy

Jesli na sztywno w php przypisze do zmiennej query to skopiowane zapytanie tez sie ono wykona :/
Mozecie zerknac na to swoich fachowym okiem. co jest z tym nie tak.
kossa
$query="INSERT INTO time_alloc (user_id, team_id, action_id, hours, date) VALUES ('".$_SESSION["user_id"]."', '".$_POST["team_id']."','$action_id','$hours', '''.$_POST['date']."');

Łukasz
kuterka
  1. <?php
  2. $query="INSERT INTO time_alloc ( user_id, team_id, action_id, hours, date) VALUES ('".$_SESSION["user_id"]."','".$_POST["team_id"]."','$action_id','$hours', '".$_POST['date']."')";
  3. ?>


Dalej krzyczy tym samym bledem

Normalnie rozwala mnie to .
DawidF
A może spróbuj tak:

  1. $query="INSERT INTO time_alloc ( user_id, team_id, action_id, hours, date) VALUES ('".$_SESSION['user_id']."','".$_POST['team_id"]."','$action_id','$hours', '".$_POST['date']."')";


Przy zmiennych $_SESSION['user_id'], w nawiasach kwadratowych są pojedyncze ' a nie "
kuterka
Hmmm dalej nie dziala , normalnie wychodze z siebie , banalne zapytanie ktorego uzywam w innym skrypcie w takiej postaci :
  1. <?php
  2. $query='INSERT INTO time_alloc (id , user_id , team_id , action_id , hours , date ) 
  3.  VALUES (NULL,'.$_SESSION['user_id'] .','.$_POST['team_id'].','.$i.','.$_POST[''.$action.''].
  4.  ',''.$_POST['date'].'')';
  5. ?>


Dziala
ww-06
Cytat(kuterka @ 5.01.2007, 16:20:56 ) *
Hmmm dalej nie dziala , normalnie wychodze z siebie , banalne zapytanie ktorego uzywam w innym skrypcie w takiej postaci :
  1. <?php
  2. $query='INSERT INTO time_alloc (id , user_id , team_id , action_id , hours , date ) 
  3.  VALUES (NULL,'.$_SESSION['user_id'] .','.$_POST['team_id'].','.$i.','.$_POST[''.$action.''].
  4.  ',''.$_POST['date'].'')';
  5. ?>


Dziala

$query="INSERT INTO time_alloc ( user_id, team_id, action_id, hours, date) VALUES ('".$_SESSION['user_id']."','".$_POST['team_id']."','$action_id','$hours', '".$_POST['date']."') ";

Był mały błąd zamiast jednego " trzeba było dać ' - kurcze zafunduj sobie np. Pajączka - w ostatnim "Komputer ekspercie" 12/2006 była darmowa wersja standard i dokładnie sprawdzaj składnię - błędów "ortograficznych" nikomu nie chce się wyłapywać w cudzych programach:)
mysz
Nazwę kolumny date weź otocz backtickami (odwrotnymi apostrofami), czyli `date`.
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-2024 Invision Power Services, Inc.