php - Warning in PDOStatement: Invalid parameter number -
maybe can me part of code. tried make works, when try update show me error:
warning: pdostatement::execute() [pdostatement.execute]: sqlstate[hy093]: invalid parameter number: number of bound variables not match number of tokens in /home/-----/public_html/soft/admin/configuracion.php on line 264
the line 264 is:
// execute query $stmt->execute(); below of:
$stmt->bindparam(':page_meta_tag', $_post['page_meta_tag']); $stmt->bindparam(':id', $_post['id']); here code:
<?php include '../include/update_config.php'; $conn = new pdo("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass); $action = isset( $_post['action'] ) ? $_post['action'] : ""; if($action == "update"){ try{ $query = "update configuracion set id = :id, nombre_clinica = :nombre_clinica, direccion = :direccion, telefono_clinica = :telefono_clinica, titulo_clinica = :titulo_clinica, logo = :logo, page_meta_tag = page_meta_tag id = 1"; $stmt = $conn->prepare($query); $stmt->bindparam(':nombre_clinica', $_post['nombre_clinica']); $stmt->bindparam(':direccion', $_post['direccion']); $stmt->bindparam(':telefono_clinica', $_post['telefono_clinica']); $stmt->bindparam(':titulo_clinica', $_post['titulo_clinica']); $stmt->bindparam(':logo', $_post['logo']); $stmt->bindparam(':page_meta_tag', $_post['page_meta_tag']); $stmt->bindparam(':id', $_post['id']); // execute query $stmt->execute(); echo "record updated."; }catch(pdoexception $exception){ //to handle error echo "error: " . $exception->getmessage(); } } try { //prepare query $query = "select nombre_clinica, direccion, telefono_clinica, titulo_clinica, logo, page_meta_tag configuracion id = 1"; $stmt = $conn->prepare( $query ); //this first question mark $stmt->bindparam(1, $_request['id']); //execute our query $stmt->execute(); //store retrieved row variable $row = $stmt->fetch(pdo::fetch_assoc); $id = $row['id']; $nombre_clinica = $row['nombre_clinica']; $direccion = $row['direccion']; $telefono_clinica = $row['telefono_clinica']; $titulo_clinica = $row['titulo_clinica']; $logo = $row['logo']; $page_meta_tag = $row['page_meta_tag']; }catch(pdoexception $exception){ //to handle error echo "error: " . $exception->getmessage(); } ?> <form class='form-horizontal' method='post' action='' enctype='multipart/form-data'> <fieldset> <legend><i class='icon32 icon-wrench'></i>configuración general del sistema</legend> <div class='control-group'> <label class='control-label' for='typeahead'>nombre de la clínica</label> <div class='controls'> <input type='text' class='span6 typeahead' name='nombre_clinica' value='<?php echo $nombre_clinica; ?>' /> </div> </div> <div class='control-group'> <label class='control-label' for='typeahead'>dirección</label> <div class='controls'> <input type='text' class='span6 typeahead' name='direccion' value='<?php echo $direccion; ?>' /> </div> </div> <div class='control-group'> <label class='control-label' for='typeahead'>número de teléfono</label> <div class='controls'> <input type='text' class='span6 typeahead' name='telefono_clinica' value='<?php echo $telefono_clinica; ?>' /> </div> </div> <div class='control-group'> <label class='control-label' for='typeahead'>viñeta de página web</label> <div class='controls'> <input type='text' class='span6 typeahead' name='titulo_clinica' value='<?php echo $titulo_clinica; ?>' /> </div> </div> <div class='control-group'> <label class='control-label' for='typeahead'>logo clínica</label> <div class='controls'> <input class='input-file uniform_on' id='fileinput' name='logo' type='file' /> <br /> <img style='max-height:80px;' src='../images/<?php echo $logo; ?>' /> </div> </div> <div class='control-group'> <label class='control-label' for='typeahead'>meta tag del software clínico</label> <div class='controls'> <input type='text' class='span6 typeahead' name='page_meta_tag' value='<?php echo $page_meta_tag; ?>' /> </div> </div> <div class='control-group'> <div class='controls'> <input type='hidden' name='id' value='<?php echo $id ?>' /><input type='hidden' name='action' value='update' /> <input type='submit' class='btn btn-primary' value='actualizar configuracion' /> </div> </div> </fieldset> </form>
you missed : change query to:
$query = "update configuracion set id = :id, nombre_clinica = :nombre_clinica, direccion = :direccion, telefono_clinica = :telefono_clinica, titulo_clinica = :titulo_clinica, logo = :logo, page_meta_tag = :page_meta_tag // <--- here missing id = 1";
Comments
Post a Comment