Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/01/2014, 06:09
helenp
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: mysqli->real_escape_string y prepared statements

Cita:
Iniciado por xSkArx Ver Mensaje
Si quieres hacer consultas parametrizadas, da lo mismo con cuak lo hagas ya que con los dos se hace orientado a objetos, te recomiendo PDO ya que si migras tus datos a otro sistema de bd no tendras que volver a cambiar codigo
Migrar no se va a migrar.
Lo que me preocupa es hacer menos cambos posibles,
no quiero reescribir unas cien páginas.
Con pdo hay que hacer más cambios si no me equivoco.
Mysqli me parecia lo más parecido (sin prepared statements).
Y ya he cambiado 7 paginas de la pasarela a mysqli, aunque se puede volver a cambiar.

Tengo echo esto y no inserta nada, he puesto echo delante de $query = $mysqli->prepare, no estoy segura si es asi para imprimir el query:
<?
$mysqli = @new mysqli('localhost', 'sssss', 'sssss', 'tabla');
$mysqli->set_charset("utf8");
if ($mysqli->connect_error)
{
die('There is a temporary problem with this page at this moment: ' . $mysqli->connect_error);
}
include 'conexionmysqli.php';
$emailtrue = 'test';
$orderdatetime= '2014-01-21';
$unpaid = 'notpaid';
$concepto = 'que';
$query = $mysqli->prepare ("insert into orders (emailtrue, orderdatetime, statement, concepto) values (?, ?, ?,?)");
/* Bind parameters
s - String, b - Boolean, i - Integer etc, d - DOUBLE and FLOAT*/
$query->bind_param("ssss", $emailtrue, $orderdatetime, $unpaid, $concepto);
$query->execute();
$query->close();

?>

Dudas que tengo, lo de poner s si es string, i si es integer etc, y encima cuando uno inserta unos 50 variables será un coñazo.
Me pregunto si la s de string y i de integer se refiere a que si la columna es integer o si lo que se inserta es integer, porque en algunos casos quiero poner s aunque puede ser numeros lo que se inserta.
Otra cosa, cuando quiero insertar cosas como NOW(), eso se añade al bind_param?

Gracias

Última edición por helenp; 24/01/2014 a las 07:09