Come da titolo, volevo capire se si può fare una cosa del genere:
O devo farle solo dopo il primo mysqli->execute() ???codice:mysqli->prepare(insert into ...3 param..; inserto into...2 param..); mysqli->bind_param("sssss", 1, 2, 3, 4, 5);
Grazie.
Come da titolo, volevo capire se si può fare una cosa del genere:
O devo farle solo dopo il primo mysqli->execute() ???codice:mysqli->prepare(insert into ...3 param..; inserto into...2 param..); mysqli->bind_param("sssss", 1, 2, 3, 4, 5);
Grazie.
Beati gli smemorati, perchè avranno la meglio anche sui loro errori...
My gallery: http://donovant.deviantart.com/gallery/
![]()
mah dubito che il prepare sia così flessibile, io voto per una query per volta... fai una prova, se funge magari dai un feedback
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Si è vero non si può fare, ma volevo caipre, se faccio più prepare l'operazione non risulta essere atomica???
Beati gli smemorati, perchè avranno la meglio anche sui loro errori...
My gallery: http://donovant.deviantart.com/gallery/
Su mysqli credo che tu possa provare con mysqli_multi_query().
http://www.php.net/manual/en/mysqli....-statement.php
http://www.php.net/manual/en/mysqli.multi-query.php
A occhio sembrerebbe la soluzione al tuo problema, poi magari mi sbaglio, ma tentar non nuoce.
Fare o non fare....non c'è provare!
Eh ma non so se posso usare i prepare di mysqli che sono utili per evitare l'injection, o anche con il mysqli->multiquery si evita???
Beati gli smemorati, perchè avranno la meglio anche sui loro errori...
My gallery: http://donovant.deviantart.com/gallery/
ma il prepare mica la esegue la queryOriginariamente inviato da Donovant
Si è vero non si può fare, ma volevo caipre, se faccio più prepare l'operazione non risulta essere atomica???![]()
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Lo so, infatti mi servirebbe fare una query del genere
Il tutto deve essere svolto in modo atomico.Codice PHP:"select (count(*)+1) num from tbl1"
//il risultato inserirlo in
"insert into tbl1 (id) values (risultato_sopra".stringa.")"
Beati gli smemorati, perchè avranno la meglio anche sui loro errori...
My gallery: http://donovant.deviantart.com/gallery/
Originariamente inviato da Donovant
Lo so, infatti mi servirebbe fare una query del genere
Il tutto deve essere svolto in modo atomico.Codice PHP:"select (count(*)+1) num from tbl1"
//il risultato inserirlo in
"insert into tbl1 (id) values (risultato_sopra".stringa.")"
o come fa mysql a fare insert into select. Una esecuzione, due query.codice:insert into tbl1(id) select count(*)+1 as num from tbl1 where tuocampo = ?
PS: l'atomicità non è assicurata neanche qui, nel senso che come penso tu la intenda, hai comunque problemi di concorrenza perché due insert nello stesso istante potrebbero darti lo stesso id e quindi errore. E cmq non si danno gli id così perchè non è detto che count(*)+1 ti dia un id libero (basta cancellare un id < del max(id) e al successivo inserimento avresti due id uguali)
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
No perchè concatenato all'id numerico c'è una stringa univoca
Beati gli smemorati, perchè avranno la meglio anche sui loro errori...
My gallery: http://donovant.deviantart.com/gallery/
se la stringa è univoca che te frega del count(*)+1 allora? Cmq fai due query o trova il modo di concatenare quella stringa univoca col count(*)+1 ( non so se una espressione del tipo count(*)+1 || tuastringaunivoca si possa fare, potresti provare). tuastringaunivoca non la passi come parametro al prepare ma la inserisci proprio nella queryOriginariamente inviato da Donovant
No perchè concatenato all'id numerico c'è una stringa univoca
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages