ugrás a tartalomhoz

második sql nem fut le

aspirany · 2008. Aug. 29. (P), 15.38
Sziasztok!

az alábbi kód result2 része nem fut le, nem tudok rájönni mi lehet a probléma, illteve sejtem hogy az tárolt eljárás futtatása zavarhat be, de nem tudom a megoldást.

Köszönöm a segítséget.
include('../connect.php');

$sql = "CALL sp_get_millpress()";
$result = mysqli_query($link,$sql) or die(mysqli_error());
$out = '';
$fields = array("szerz_nev","szerz_szulhely","szerz_szuldatum","szerz_irsz","szerz_telepules","szerz_utca","szerz_hazszam","szerz_telefon1","szerz_telefon2", "szerz_email","szerz_levnev","szerz_levirsz","szerz_levtelepules","szerz_levutca","szerz_levhazszam","bizt_nev","bizt_szulhely","bizt_szuldatum","bizt_irsz", "bizt_telepules","bizt_utca","bizt_hazszam","bizt_telefon1","bizt_telefon2","bizt_email","bizt_levnev","bizt_levirsz","bizt_levtelepules","bizt_levutca", "bizt_levhazszam","sorszam","osszdij","termekcsoportnev","termeknev","markanev","referencia","gyariszam","vasarlasido","fogyasztoi_ar","garanciaevek","gyartoigar", "jotallas_utolso","biztositas_kezdete","biztositas_vege");

foreach($fields as $fejlec)
       {
         $out .=$fejlec.";";
       }
//$columns = mysqli_num_fields($result);
// Put the name of all fields
$fields_length = count($fields);
// Add all values in the table
while ($l = mysqli_fetch_array($result)) {
   $out .="\n";
   for ($i = 0; $i < $fields_length; $i++) {
$projektID = sprintf("%03d",$l['projektID']);
$partnerID = sprintf("%03d",$l['partnerID']);
$szerzodesID = sprintf("%07d",$l['szerzodesID']);
$sorszam = "9".$projektID.$partnerID.$szerzodesID;
if($i=="30")
{
$out .= $sorszam.";";
}
else{
$out .=iconv("UTF-8","ISO-8859-2",$l[$fields[$i]]).";";}
 }
 $result2 = mysqli_query($link,"UPDATE szerzodes SET sorszam='$sorszam',statusz='üres',modosito='$_SESSION[Username]',modositas=NOW() WHERE szerzodesID='$l[szerzodesID]' AND partnerID = '$_SESSION[partnerID]'");
 //$sql1 = "UPDATE szerzodes SET kod_elso='9',sorszam='$sorszam',statusz='kötvényesített' WHERE szerzodes ='$l[szerzodesID]' AND partnerID ='$l[partnerID]'";
 //$result1 = mysqli_query($link,$sql1);
}

if($result2)
 {
   mysqli_rollback($link);
   echo "<script>alert('a muvelet nem került végrehajtásra! ROLLBACK');</script>";
 }
 else{
  mysqli_commit($link);
  mysqli_close($link);
 }
 
1

mysql_query([query], [link])

fchris82 · 2008. Aug. 29. (P), 16.37
Sztem már a $result sem ad értelmes eredményt. Felcserélted a mysql_query() paramétereit. Először kell a kérést, és aztán a link-et.
2

Bug

thgab · 2008. Aug. 29. (P), 17.40
Nekem is ilyen gondom volt tárolt eljárással, hogy a hívás után már nem volt érvényes a link. Újra kellett kapcsolódni.

http://bugs.mysql.com/bug.php?id=14993
3

köszönöm a segítséget

aspirany · 2008. Aug. 29. (P), 22.35
Sajna egyik megállapítás sem igaz,de lehet hogy igazatok van részben.

A tárolt eljárás lefut. de a masodik sql -nél statusz='üres' miatt nem futott le. onnan jöttem rá hogy firefox allat az ékezetes karakterek nem voltak jók. ha kijavítottam ékezet nékülire ill adtam egy akármilyen lekérdezést az lefutott pl:SELECT * from xy,

iconv volt a megoldás, mivel a lapnak nem volt hader charset UTF-8;