Código PHP:
if ( $query = $mysqli->query( 'SELECT MAX(position) FROM notes' ) )
{
$row = $query->fetch_array( MYSQLI_NUM );
$position = $row[0] + 1;
if ( $query = $mysqli->prepare( 'INSERT INTO notes (text, date, position) VALUES (?, ?, ?)' ) )
{
$date = time();
$query->bind_param( 'sii', $text, $date, $position );
$query->execute();
echo self::serialized_return( $mysqli->insert_id, $text, $date );
}
else
throw new Error( 'Error al intentar añadir la nota.' );
}
else
throw new Error( 'Error al intentar añadir la nota.' );
2. Esto ya sobre PHP, ¿puedo hacer algo para no tener que repetir el else dos veces?
Código PHP:
foreach ( $positions as $position => $id )
$query_vals[] = ' WHEN ' . (int)$id . ' THEN ' . ( (int)$position + 1 );
if ( $query = $mysqli->prepare( 'UPDATE notes SET position = CASE id ' . implode( $query_vals ) . ' END' ) )
{
$query->execute();
throw new Success( 'Las notas fueron ordenadas correctamente.' );
}
2. En este código en el que las variables externas son forzadas a ser del tipo integer, ¿es más seguro utilizar una consulta preparada o puedo ejecutarlo con mysqli:query()?
Gracias por responder.
Saludos.