Cytat(phpion @ 8.06.2011, 08:16:28 )

Bredzisz. To o czym piszesz nie ma żadnego wpływu na poprawność wykonania zapytania SQL. Po pierwsze: tworząc zapytanie i tak masz je w postaci stringa, czyli nie ma różnicy czy wstawisz tam liczbę jako integer czy string. Po drugie: apostrofy również nie powodują błędów. MySQL sam sobie wstawi wartość odpowiedniego typu. Oba te przypadki nie mogą powodować błędu SQL, są jednak dobrym nawykiem programistycznym.
@malin23:
Zmień swoją linię na następujące:
$query = "INSERT INTO serwis_zlecenie SET IDklienci='$idklienta', data='$data' ";
i zobacz co się wyświetli.
<?php
// nawiazujemy polaczenie
$connection = @mysql_connect('')
// w przypadku niepowodznie wyświetlamy komunikat
or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
// połączenie nawiązane ;-)
//echo "Udało się połączyć z serwerem!<br />";
// nawiązujemy połączenie z bazą danych
$db = @mysql_select_db('', $connection)
// w przypadku niepowodzenia wyświetlamy komunikat
or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
// połączenie nawiązane ;-)
//echo "Udało się połączyć z bazą dancych!";
$a = trim($_REQUEST['a']);
//$idklienta = trim($_GET['idklienta']);
$idklienta=intval($_GET['idklienta']);
echo "$idklienta";
$wynik = mysql_query("SELECT * FROM klienci WHERE IDklienci = '$idklienta' ")
or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
/* jeżeli wynik jest pozytywny, to wyświetlamy dane */
echo "<table cellpadding=\"2\" border=1>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>".$r['IDklienci']."</td>";
echo "<td>".$r['Nazwa']."</td>";
echo "<td>".$r['Ulica']."</td>";
echo "<td>".$r['Kod_miasto']."</td>";
echo "<td>".$r['NIP']."</td>";
//echo "<td>
//<a href=\"serwis_edit.php?a=edit&nr={$r['nr']}\">EDIT</a>
//</td>";
echo "</tr>";
}
echo "</table>";
}
?>
<FORM ACTION="nowe_zlecenie2.php" METHOD="POST" ENCTYPE="iso-8859-2" ACCEPT-CHARSET="iso-8859-2">
<TABLE>
<TR>
<TD>Nazwa urzadzenia</TD>
<TD><INPUT type="TEXT" NAME="nazwa_urzadzenia2" SIZE="30" MAXLENGTH="30" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD>Nr fabryczny</TD>
<TD><INPUT type="TEXT" NAME="nr_fabryczny2" SIZE="30" MAXLENGTH="30" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD>Telefon kontkatowy</TD>
<TD><INPUT type="TEXT" NAME="kontakt_klienta2" SIZE="50" MAXLENGTH="50" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD>Gwarancja (tak/nie)</TD>
<TD><INPUT type="TEXT" NAME="gwarancja2" SIZE="15" MAXLENGTH="15" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD>Opis</TD>
<TD><INPUT type="TEXT" NAME="opis2" SIZE="100" MAXLENGTH="200" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD>Uwagi</TD>
<TD><INPUT type="TEXT" NAME="uwagi2" SIZE="100" MAXLENGTH="300" ALIGN="LEFT"></TD>
</TR>
<TR>
<TD></TD>
<TD><input type=hidden value='1' name=send></TD>
</TR>
<TR>
<TD></TD>
<TD><input type="submit" value="Wyslij" /></TD>
</TR>
</TABLE>
</FORM>
<?php
//$idklienta2=(int) $idklienta;
echo $idklienta;
//$osoba_przyjmujaca = $_SESSION["uzytkownik"];
if($_POST["send"]==1){
$nazwa_urzadzenia2 = $_POST["nazwa_urzadzenia2"];
$nr_fabryczny2 = $_POST["nr_fabryczny2"];
$kontakt_klienta2 = $_POST["kontakt_klienta2"];
$gwarancja2 = $_POST["gwarancja2"];
$opis2 = $_POST["opis2"];
$uwagi2 = $_POST["uwagi2"];
$data2=date("Y-m-d");
echo "$nazwa_urzadzenia2";
echo "$nr_fabryczny2";
echo "$kontakt_klienta2";
echo "$gwarancja2";
echo "$uwagi2";
echo "$data";
// dodajemy rekord do bazy
$query = "INSERT INTO serwis_zlecenie SET IDklienci='$idklienta', data='$data2', nazwa_urzadzenia='$nazwa_urzadzenia2', nr_fabryczny='$nr_fabryczny2', kontakt_klienta='$kontakt_klienta2', gwarancja='$gwarancja2', opis='$opis2', uwagi='$uwagi2'";
$ins = mysql_query($query) or die($query.': '.mysql_error());
}
mysql_close($connection);
?>
<br /><br /><br />
<a href="klienci.php" target="strona">Klienci</a><br/>
Wysyłam cały kod z którym mam problem.
Zrobiłem tak jak mówisz, wszystkie pozostałe zmienne(nazwa_urzadzenia2, nr_fabryczny2 - VARCHAR) dodają mi się do bazy.
tylko IDklienci nie.