Zmieniam wersje PHP z 5 na 7 dla starego projektu, problem że kodu jest bardzo dużo muszę dopisać brakujące funkcje, największym problemem na jaki aktualnie natrafiłem to zapytania mssql w pętli innego zapytania, pętla wykonuje się tylko raz ponieważ kolejne zapytanie mssql które jest w pętli wszystko psuje, żeby było jaśniej poniżej funkcje jakie sobie dopisałem dla zachowania kompatybilności
function query_mssql($sql){ try { $mssql = new PDO ("dblib:host=$server;dbname=$dbname","$username","$pw"); } catch (PDOException $e) { exit; } try { $stmt=$mssql->prepare($sql); $stmt->execute(); } catch (PDOException $e) { exit; } } return $stmt; } function mssql_fetch_assoc($co){ return $co->fetch(); }; function mssql_fetch_array($co){ return $co->fetch(); }; function mssql_query($co){ return query_mssql($co); }; function mssql_num_rows($co){ query_mssql($co->queryString); // bez tego niszczy sql/zmienną query tak samo jak zapytania w pętli return $ile; }
zauważyłem że PDO to trochę inna zasada działania, to co przypisuje do zmiennej z mssql_query przepada po kolejnym użyciu tej funkcji da się to obejść?
przykład problemu (wyświetli tylko 1 TowId zamiast 2 ):
$q=mssql_query("SELECT TOP 2 TowId FROM dbo.Towar"); while($r=mssql_fetch_array($q)) { $q2=mssql_query("SELECT TOP 2 Skrot FROM dbo.Kontrahent"); while($r2=mssql_fetch_array($q2)) { } }
w zasadzie to PDO kompletnie nie ma sensu albo czegoś nie rozumiem, bo np jeśli w pętli wykonują się różne operacje i przypadkowo będzie tam gdzieś funkcja i kolejne zapytanie PDO to program będzie działać niepoprawnie? chyba to znak żeby unikać tego jak ognia
