1
也许你可以帮我完成这部分代码。我试图使它的工作,但是当我尝试UPDATE
总是告诉我这个错误:PDOStatement中的警告:无效的参数编号
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /home/-----/public_html/soft/Admin/configuracion.php on line 264
行264:
// Execute the query
$stmt->execute();
下面的:
$stmt->bindParam(':page_meta_tag', $_POST['page_meta_tag']);
$stmt->bindParam(':id', $_POST['id']);
这里是我的代码:
<?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 where 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 the query
$stmt->execute();
echo "Record was 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 from CONFIGURACION where id = 1";
$stmt = $conn->prepare($query);
//this is the first question mark
$stmt->bindParam(1, $_REQUEST['id']);
//execute our query
$stmt->execute();
//store retrieved row to a 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>
谢谢我错过了.. –
我还有一个问题...当我更新条目,徽标(JPEG,PNG等)。不要保存它,你可以看到如果错过了它的东西? –
您确定所有的值都可以通过POST正确传输吗?什么给你'var_dump($ _ POST);'? – hek2mgl