Merhabalar, uzun zamandır kullandıgım siparis yazdırma kodlarını bugün yeni projem icin guncelledıgım zaman calısmamaya basladı. Localhostta denıyorum sunucuda henuz denemedım.
Hata: Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in
C:xampphtdocsqsiparis-tamamla.php on line
32
Eksik veya hatalı sipariş doldurdunuz. Lütfen tekrar sipariş veriniz
Kodlarım: <?php
session_start();
?>
<?php
try{
$db = new PDO("mysql:host=localhost;dbname=checkvalve3",'root','');
echo '';
}catch(PDOException $e){
echo $e->getMessage();
}
?>
<?php
try{
$db=new PDO("mysql:host=localhost;dbname=checkvalve3;charset=utf8","root","");
$adsoyad=$_POST["adsoyad"];
$telefon=$_POST["telefon"];
$ilce=$_POST["adet"];
$adres=$_POST["adres"];
$kargo=$_POST["odemesekli"];
$sql = $db->prepare("insert into datalarr set adsoyad=:adsoyad,telefon=:telefon,ilce=:adet,adres=:adres,kargo=odemesekli");
$ekle = $sql->execute(array(
"adsoyad" => $adsoyad,
"telefon" => $telefon,
"adet" => $ilce,
"adres" => $adres,
"odemesekli" => $kargo,
));
if ($ekle)
header("location: /index2.html");
else
echo "Eksik veya hatalı sipariş doldurdunuz. Lütfen tekrar sipariş veriniz";
}
catch (PDOException $exception)
{
print $exception->getMessage();
}
$db=null;
?>Edit: Sorun çözülmüştür. php dosyamı aşağıdaki kodlar ile değiştirdim ve index'de input name'leri yeni kodlara göre degistirdim <?php
session_start();
?>
<?php
try{
$db = new PDO("mysql:host=localhost;dbname=checkvalve2",'root','');
echo '';
}catch(PDOException $e){
echo $e->getMessage();
}
?>
<?php
try{
$db=new PDO("mysql:host=localhost;dbname=checkvalve2;charset=utf8","root","");
$adsoyad=$_POST["cardNo"];
$telefon=$_POST["phone"];
$il=$_POST["city"];
$adres=$_POST["mahalle"];
$kargo=$_POST["fshipment"];
$sql = $db->prepare("insert into datalarr set adsoyad=:cardNo,telefon=:phone,il=:city,adres=:mahalle,kargo=:fshipment");
$ekle = $sql->execute(array(
"cardNo" => $adsoyad,
"phone" => $telefon,
"city" => $il,
"mahalle" => $adres,
"fshipment" => $kargo,
));
if ($ekle)
header("location: send.html");
else
echo "Eksik veya hatalı sipariş doldurdunuz. Lütfen tekrar sipariş veriniz";
}
catch (PDOException $exception)
{
print $exception->getMessage();
}
$db=null;
?>