Inoltre non hai evidentemente letto la documentazione perché stai usando le funzioni in modo improprio.
Per ottenere i valori da uno stament mysqli devi fare il bind delle variabili del risultato.
Devi indicare nella bind_result tutti i campi che vuoi leggere, io non so che campi vuoi leggere quindi non posso scriverti l'esempio.
Per la bind_param devi fare come facevi già sopra.
Devi mettere nella query al posto dell'asterisco i nomi di tutti i cambpi, poi nella bind_result() metti le variabili in cui vuoi mettere i vari campi, nello stesso ordine.
Non importa che sia lo stesso ordine che hai nella tabella, l'importante è che l'ordine dei campi nella SELECT sia uguale all'ordine delle variabili nella bind_result.
Che dovrebbe verificare se la pagina che modifico esiste o no.
se non esiste con la variabile $msg = nascondo tutto il form e non faccio fare nessuna operazione.
come faccio fare con questa tipo di tecnica ?
Mi dice sempre record non trovato anche se lancio la select sulle varie pagine che ho creato precedetemene con le query normali.
grazie mille.
Ultima modifica di treled il domenica 30 marzo 2014, 13:45, modificato 1 volta in totale.
if(!CheckUnique("pagine", "url", strtolower($pag_url)))
{
$error = "Il nome del'url esiste già";
}
else
{
if(empty($pag_url))
{
$error = "Il collegamento della pagina non è stato inserito.";
}elseif(!isString($pag_url))
{
$error = "Nel collegamento della pagina ci sono carratteri non consentiti.";
}
elseif(empty($titolo))
{
$error = "Il titolo della pagina non è stato inserito.";
}elseif(!isString($titolo))
{
$error = "Nel titolo della pagina ci sono carratteri non consentiti.";
}elseif(empty($meta_title))
{
$error = "Il titolo \"Meta\" non è inserito ";
}elseif(!isString($meta_title))
{
$error = "Nel titolo \"Meta\" della pagina ci sono carratteri non consentiti.";
}
elseif(empty($page))
{
$error = "Il testo della pagina non è inserito.";
}
elseif(!isData($_POST["data"]))
{
$error = "La data deve avere il formato come segue : ".date("Y-m-d H:i:s")."";
}
elseif(empty($data))
{
$error = "La data di pubblicazione della pagina non è stata inserita.";
}
elseif(empty($active))
{
$error = "Lo stato della pagina non è stato inserito.";
}
elseif(!CheckUnique("pagine", "url", strtolower($pag_url)))
{
$error = "Il nome del'url esiste già";
}
$msg = "<p>Modificato</p>";
$msg.="<p>".$stmt->insert_id."</p>";
$msg.="<p>".$stmt->affected_rows."</p>";
$msg.="<p><a href=\"pagine.php\">Torna alla lista</a></p>";
}
}}else
{
if(empty($titolo))
{
$error = "Il titolo della pagina non è stato inserito.";
}elseif(!isString($titolo))
{
$error = "Nel titolo della pagina ci sono carratteri non consentiti.";
}elseif(empty($meta_title))
{
$error = "Il titolo \"Meta\" non è inserito ";
}elseif(!isString($meta_title))
{
$error = "Nel titolo \"Meta\" della pagina ci sono carratteri non consentiti.";
}
elseif(empty($page))
{
$error = "Il testo della pagina non è inserito.";
}
elseif(!isData($_POST["data"]))
{
$error = "La data deve avere il formato come segue : ".date("Y-m-d H:i:s")."";
}
elseif(empty($data))
{
$error = "La data di pubblicazione della pagina non è stata inserita.";
}
elseif(empty($active))
{
$error = "Lo stato della pagina non è stato inserito.";
}
else
{
$strSQL = "UPDATE pagine SET"
. " titolo = ?,"
. " meta_title=?,"
. " content = ?,"
. " data = ?,"
. " active = ?"
. " WHERE id = ?";
Returns the number of rows in the result set. The use of mysqli_stmt_num_rows() depends on whether or not you used mysqli_stmt_store_result() to buffer the entire result set in the statement handle.
essendo che mi sono ritornati i \n \r nella textarea dove aggiungo/modifico/ il contenuto della pagina..
vorrei sapere se questo pezzo di codice: $db_id = $db->real_escape_string($id);
lo posso levare .. che penso adesso fa tutto il bind_param e bind_result