PHP PDOStatement :: execute():SQLSTATE [HY093]

时间:2019-10-06 11:19:12

标签: php mysql pdo execute ob-start

  

警告:PDOStatement :: execute():SQLSTATE [HY093]:无效的参数编号:在第14行的C:\ xamppp \ htdocs \ porto \ yonetim \ network \ islem.php中未定义参数

我遇到错误

项目来源:https://www.youtube.com/watch?v=Kwy40bF_0Fg&list=PLZtkgIR0fgTHt1ZaDskLfv3WwVTdCYDIU&index=12

putStr $ showw $ parse "+ 8 * 9 10"

Sum
   Int 8
   Mult
      Int 9
      Int 10
*Main>

2 个答案:

答案 0 :(得分:0)

尝试一下:

$update = $ayarkaydet->execute([
':aray_siteurl' => $_POST['ayar_siteurl'],
':title' => $_POST['ayar_title']]);

答案 1 :(得分:0)

您的代码有很多错字错误。您的execute语句是错误的。

我又想知道ayar_id = 0在做什么。我认为这应该是数据库增量的唯一值。如果是,则表创建错误。

例如,您还可以将ayar_id设置为int和主键

例如。 create table ayar(ayar_id int primary key auto_increment, ayar_title varchar(3));

对于第一个插入计数,主键会将ayar_id的值设置为1。无论如何,因为您的ayar_id为0。我已经为您重新编写了代码

<?php 
ob_start();
include 'baglan.php';

/*  my own db connections
$db = new PDO (
    'mysql:host=localhost;dbname=your_db_name;charset=utf8', 
    'root', // username

    '' // password
);
*/

if (isset($_POST['genelayarkaydet'])) {


 $ayarkaydet=$db->prepare("UPDATE ayar SET ayar_siteurl=:ayar_siteurl,ayar_title=:ayar_title WHERE ayar_id=:ayar_id");

        $ayarkaydet->execute(array(
            'ayar_siteurl' => $_POST['ayar_siteurl'],
'ayar_title' => $_POST['ayar_title'],
'ayar_id' => '0'
    ));


if ($ayarkaydet) {
    echo "Başarılı..";
}


}


 ?>