PDA

View Full Version : [PHP] - dubbio sui prepared statement


luke1983
11-04-2010, 16:03
ciao a tutti. sono nuovo di questa sezione :)

fin'ora ho sempre usato un approccio procedurale ma da poco ho scoperto alcuni vantaggi dell'OO.

Tra questi i PS, molto più comodi da usare in formato OO.

Però ho un dubbio. Ho letto 2 esempi: uno sul sito php


/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();


e l'altro su una guida di html.it


$stmt_2 = $mysql->prepare("INSERT INTO numeri VALUES (?)");

for($i = 0; $i < 100; ++$i)
{
$stmt_2->execute($i);
}


E' una pura formalità inserire le variabili con la funzione bind anzichè direttamente nella execute? o ci sono dei vantaggi?

leggendo il manuale sembra più corretta la prima forma perchè la funzione execute in teoria non dovrebbe avere argomenti.


Dal sito php.net:

bool mysqli_stmt::execute ( void )


voi che mi dite?