Mysql
 sql >> Database >  >> RDS >> Mysql

Array PHP come input per Stored Procedure

Devi solo essere più intelligente riguardo alle tue chiamate. Ad esempio, tenere in giro gli oggetti DB memorizzati nella cache e quel genere di cose.

Senza sapere di più sul tuo codice (la tua domanda è abbastanza confusa), sembra che se la tua query è qualcosa del genere:

$query = "select abc from tblname where colname =" .$value; // run 10 times.

Hai davvero solo bisogno di scrivere un codice più intelligente:

$values = array(); // Now, populate this array.  
                   // When you're done, run the query:
$query = 'select abc from tblname where colname IN (\''.implode('\',\'', $values).'\')';

Generalmente, ci riferiamo a questo come SQL dinamico ed è la base di come le cose vengono generalmente fatte oggi. Una procedura memorizzata (o, in base a come ho letto la tua domanda, una funzione memorizzata) è utile a volte, ma è alquanto antiquata come metodologia del primo ordine per l'interfaccia con SQL. I ragazzi di DB a volte lo giurano, ma penso che anche loro siano abbastanza d'accordo sul fatto che le query più intelligenti siano sempre migliori.