Así no se usa
bind_param(), su uso correcto es así...
Código PHP:
Ver original$query = $mysqli->prepare('INSERT INTO miTabla VALUES (?,?,?)');
$query->bind_param('iss',1,'titulo','cuerpo_mensaje');
$query->execute();
Debes tener MUY presente el primer parámetro que se le pasa, el 'iss' este no es un parámetro cualquiera, le indica a mysqli de que tipo son las variables que se le pasan, la i es de int/entero, la s de strint/texto, y hay 1 por cada variable, así que si vas a insertar 7 variables del tipo string debes poner como primer parámetro 'sssss' como poner un ejemplo, por ultimo esto esta mal....
Código PHP:
Ver original$ins->bind_param( $_POST['nombre'],
$d = $_POST['desc'],
$r = $_POST['rubro'],
$p = $_POST['provee'],
$c = $_POST['costo'],
$m = $_POST['mayoreo'],
$dt = $_POST['detalle']);
O usas la variable o usas el super array, no puedes asignar una valor a una variable dentro de una función, eso dará error...
Si tienes mas dudas visita el manual de PHP siempre que te atores!
bind_param() Actialización: Cita:
Iniciado por KATHYU La cosa es que segun he leido esta ultima forma es usando clases y haciendo el metodo _construct pero eso yo no lo estoy implementando, sera que debo usar la forma que puse en el primer post o no importa ???
Lo siento, lo lei ya que había enviado la respuesta, en efecto, es usando mysqli como objeto (clase), por lo tanto primero debes hacer un new mysql()...
Código PHP:
Ver original<?php
$mysqli = new mysqli('host','user','pass','db');
$query = $mysqli->prepare('INSERT INTO miTabla VALUES (?,?,?)');
$query->bind_param('iss',1,'titulo','cuerpo_mensaje');
$query->execute();
Aunque también puedes usar funciones por separado...
Código PHP:
Ver original$query = mysql_prepare('INSERT INTO miTabla VALUES (?,?,?)');
Pero en mi opinión es mejor usarlo como objeto (clase), tiene mas lógica y orden, pero solo es mi opinión...