は私のプロジェクトに本当に助けが必要です。私はこのエラーが発生します。PDOとPHPのヘルプ... SQLSTATE [HY093]:無効なパラメータ番号:パラメータがバインドされていません
SQLSTATE [HY093]:無効なパラメータ番号:パラメータが全く
を拘束されませんでした私はフォームから新しいオブジェクトを作成しようとに入れてる2時間、まだ見当もつかない...のために働きますデータベース。 私のコードは...
これは私のフォームです。
<form role="form" method="POST" enctype='multipart/form-data' action="Action/CreateAdmin.php">
<fieldset>
<table>
<tr>
<td><div class="form-group">Username</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="Username" name="username" type="text" autofocus>
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Password</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Nama Depan</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="Nama Depan" name="NamaDpn" type="text" value="">
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Nama Belakang</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="Nama Belakang" name="NamaBlkng" type="text" value="">
</div>
</td>
</tr>
<tr>
<td><div class="form-group">No. Telepon</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="No. Telepon" name="no_telp" type="text" value="">
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Previlage</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<?php
$dataRole=$RoleObject -> getAllRole() -> getIterator();
echo "<select class='form-control' name='role'>";
while($dataRole -> valid()){
echo "<option value='".$dataRole -> current()->getIdRole()."'>".$dataRole->current()->getRoleName()."</option>";
$dataRole->next();
}
echo"</select>";
?>
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Kategori</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<?php
$dataKategori=$kategoriObject -> getAllKategori() -> getIterator();
echo "<select class='form-control' name='kategori'>";
while($dataKategori -> valid()){
echo "<option value='".$dataKategori -> current()->getIdKategori()."'>".$dataKategori->current()->getNamaKategori()."</option>";
$dataKategori->next();
}
echo"</select>";
?>
</div>
</td>
</tr>
<tr>
<td><div class="form-group">Foto</div></td>
<td><div class="form-group">:</div></td>
<td>
<div class="form-group">
<input class="form-control" placeholder="Foto" name="foto" type="file" value="">
</div>
</td>
</tr>
<br/>
<?php
if(isset($_GET["pesan"]))
{
if($_GET["pesan"] == MD5("kosong"))
{
?>
<p style ="color:red;"> Username atau Password kosong. </p>
<?php
}
else if($_GET["pesan"] == MD5("none"))
{
?>
<p style ="color:red;"> Username atau Password salah. </p>
<?php
}
}
?>
<!-- Change this to a button or input when using this as a form -->
<tr>
<td colspan="3"> <button class="btn btn-lg btn-success btn-block" name="btnSubmitAdmin">Submit Admin</button> </td>
</tr>
</table>
</fieldset>
</form>
これ一つは、インサート
<?php
function insertUser (user $user)
{
$result=FALSE;
try{
$iduser= $user -> getIdUser();
$username= $user -> getUsername();
$password= $user -> getPassword();
$namadpn= $user -> getNamaDpn();
$namablkng= $user -> getNamaBlkng();
$notelp= $user -> getNoTelp();
$role=$user->getRoleId();
$kategori= $user -> getKategori();
$foto=$user->getFoto();
$koneksi=Connection::getConnection();
$koneksi->beginTransaction();
$query="INSERT INTO User(id_user, username, password, nama_dpn, nama_blkng, no_telp, id_role, id_kategori,foto) VALUES(?,?,?,?,?,?,?,?,?)";
$stmt=$koneksi->prepare($query);
$stmt -> execute();
$stmt -> bindParam(1, $user->id_user());
$stmt -> bindParam(2,$user->username());
$stmt -> bindParam(3, $user->password());
$stmt -> bindParam(4,$user->nama_dpn());
$stmt -> bindParam(5, $user->nama_blkng());
$stmt -> bindParam(6,$user->no_telp());
$stmt -> bindParam(7,$user->id_role());
$stmt -> bindParam(8, $user->id_kategori());
$stmt -> bindParam(9,$user->foto());
$result=$stmt -> execute();
$koneksi -> commit();
}catch(PDOexception $ex){
echo $ex -> getmessage();
die();
}
$conn = null;
return $user;
}
}
?>
のための私のユーザオブジェクト関数であり、これは、フォームの私のアクションページです。
<?php
include "../Utility/koneksi.php";
include "../Entity/User.php";
include "../Dao/UserObject.php";
include "../Entity/Role.php";
include "../Dao/RoleObject.php";
$UserObject=new UserObject();
if(isset($_POST["btnSubmitAdmin"]))
{
$uname = $_POST['username'];
$pwd = $_POST['password'];
$nama_dpn = $_POST['NamaDpn'];
$nama_blkng = $_POST['NamaBlkng'];
$notelp=$_POST['no_telp'];
$role=$_POST['role'];
$kategori=$_POST['kategori'];
$tipeFile=$_FILES['foto']['type'];
$lokasiFile=$_FILES['foto']['tmp_name'];
$namaFile=$_FILES['foto']['name'];
$ukuranFile=$_FILES['foto']['size'];
$location="";
if($tipeFile == "image/jpg" or $tipeFile == "image/jpeg" or $tipeFile== "image/png"){
$location = "../img/".$namaFile;
move_uploaded_file($lokasiFile,$location);
}
if($namaFile==""){
$namaFile = "default.jpeg";
}
$uname = TRIM($uname); //untuk hapus spasi di depan/ belakang
$pwd = TRIM($pwd);
$user=new User();
$user->setUsername($uname);
$user->setPassword($pwd);
$user->setNamaDpn($nama_dpn);
$user->setNamaBlkng($nama_blkng);
$user->setNoTelp($notelp);
$user->setRoleId($role);
$user->setKategori($kategori);
$user->setFoto($namaFile);
if($UserObject->insertUser($user)){
echo "<script>alert('Success')</script>";
}
}
?>
あなたがいずれかのパラメータをバインドしました前の文を実行しようとしている事前
これは、特にあなたが私たちに何も言わないときに、私たちが遂行してくれることを期待する多くのコードです。ここではエラーはすべてです... –
見つけました。 _after_バインディングを '実行する '必要があります。現時点では、 '$ stmt - > execute();'が用意されています。 –