Actualizați cererea într-o solicitare selectată de EmmanuelJoly2 - OpenClassrooms

O intrebare ? Nu vă faceți griji, vă vom ajuta !

într-o

Titlul pare să fie despre interogări imbricate, dar nu-mi găsesc fericirea în el.

Permiteți-mi să explic: Am un tabel „personal” care conține într-o coloană „document” o matrice transformată într-un șir (serializează).

Acest tabel trebuie actualizat pentru tot personalul, așa că adăugați un rând la acest tabel.

Am programat ceva care funcționează, dar nu sunt sigur că este curat, așa că riscul de eroare, deoarece mi se pare că nu putem face o cerere atunci când altul nu este terminat:

Sper că este suficient de clar

Vă mulțumesc pentru ajutor

Rapid, există un lucru care mă deranjează.

Închideți cererea Req de două ori (o dată în buclă, o dată după), nu există o eroare la acest nivel ?

Apoi, încercați să legați setările,

Recunosc că nu m-am uitat în detaliu, dar a sărit la mine.

Uneori, oprirea dezvoltării sale timp de 5 minute vă permite să începeți din nou când vă confruntați cu o problemă;)

Da, ultimul $ req-> closeCursor (); ar trebui să fie $ response-> closeCursor ();

NICIODATĂ nu pregătim o cerere în buclă: pregătirea ACTUALIZĂRII trebuie făcută inainte de bucla și nu în interior.

Apoi am putea face câteva „optimizări” (utilizarea bindParam, dezactivarea emulației) și ceea ce este mai „murdar” în acest cod este utilizarea (dez) serializării. Strict vorbind, aș prefera să folosesc JSON dacă nu aș avea de ales.

Nu știu cu adevărat ce faceți, dar salvarea unui tablou pe o masă este de obicei un patch într-o bază de date prost concepută.

Dacă, de exemplu, doriți să salvați cărțile pe care utilizatorul Pierre le-a împrumutat din bibliotecă, puteți salva în tabelul utilizatorului și în câmpul „împrumutat” tabelul [1056,1250,128] realizat din identificatorii acestor 3 lire sterline . Dar este o idee proastă. În plus, este interzis prin metoda Merise. În schimb, ar trebui să creați un tabel de legături (asociere în limba Merise) din două coloane: o primă care conține ID-ul utilizatorului și o a doua ID-ul cărții. Așa că veți ajunge cu un tabel care conține doar chei străine [#iduser, #idlivre].