Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO异常:SQLSTATE[HY093]_Php_Mysql_Pdo - Fatal编程技术网

Php PDO异常:SQLSTATE[HY093]

Php PDO异常:SQLSTATE[HY093],php,mysql,pdo,Php,Mysql,Pdo,嘿 我对PHP不熟悉,但仍在努力学习。我发现这是处理数据库连接的方法。已经调试了代码,但还有一件棘手的事情。我似乎不能把我的大脑围绕在这个错误代码上。任何简单的指针,即使我也能理解。;-) 我正在浏览以下网页: 错误消息: 数据库连接已建立PDOexception:SQLSTATE[HY093]:无效参数编号:C:\xampp\htdocs\Test\dbtest.php:28堆栈跟踪:#0 C:\xampp\htdocs\Test\dbtest.php(28):PDOStatement->ex

我对PHP不熟悉,但仍在努力学习。我发现这是处理数据库连接的方法。已经调试了代码,但还有一件棘手的事情。我似乎不能把我的大脑围绕在这个错误代码上。任何简单的指针,即使我也能理解。;-)

我正在浏览以下网页:

错误消息: 数据库连接已建立PDOexception:SQLSTATE[HY093]:无效参数编号:C:\xampp\htdocs\Test\dbtest.php:28堆栈跟踪:#0 C:\xampp\htdocs\Test\dbtest.php(28):PDOStatement->execute()#1{main}



/Svante

可能值得尝试一个简化版本,该版本省略了PHP变量和指定占位符中的特殊字符

<?php
    require_once('dbhandler.php');

    $dbh = new DBHandler();

    $e = 'svante@telia.com'; 
    $n = 'Svante';
    $a = 'Poffe';
    $l = '1596';

        $sql = "INSERT INTO users( `epost`, `namn`, `användarnamn`, `lösenord` ) VALUES( :e, :n, :a, :l )";

        $stmt = $dbh->getInstance()->prepare($sql);
        $stmt->bindParam(':e', $e, PDO::PARAM_STR);       
        $stmt->bindParam(':n', $n, PDO::PARAM_STR); 
        $stmt->bindParam(':a', $a, PDO::PARAM_STR);
        $stmt->bindParam(':l', $l, PDO::PARAM_STR);   

        $stmt->execute();

可能值得尝试一个简化版本,该版本省略了PHP变量和指定占位符中的特殊字符

<?php
    require_once('dbhandler.php');

    $dbh = new DBHandler();

    $e = 'svante@telia.com'; 
    $n = 'Svante';
    $a = 'Poffe';
    $l = '1596';

        $sql = "INSERT INTO users( `epost`, `namn`, `användarnamn`, `lösenord` ) VALUES( :e, :n, :a, :l )";

        $stmt = $dbh->getInstance()->prepare($sql);
        $stmt->bindParam(':e', $e, PDO::PARAM_STR);       
        $stmt->bindParam(':n', $n, PDO::PARAM_STR); 
        $stmt->bindParam(':a', $a, PDO::PARAM_STR);
        $stmt->bindParam(':l', $l, PDO::PARAM_STR);   

        $stmt->execute();

如果您使用不带重音的字符,是否仍会发生此错误?您在这里见面吗$stmt->bindParam(':epost',$epost,PDO::PARAM_STR)$stmt->bindParam(:epost,$epost,PDO::PARAM_STR);这就是手册上说的:$sth->bindParam(“:carries”,$carries,PDO::PARAM_INT);哦,对不起。在消息之后进行了一些更改。我编辑了主要问题。当然在第28行。请将您的问题发送至:澄清问题标题、更多细节或澄清问题、改进文本排列、改进代码格式。请参阅Please surf,如果您使用不带重音的字符,是否仍会发生此错误?您在这里遇到了吗$stmt->bindParam(':epost',$epost,PDO::PARAM_STR)$stmt->bindParam(:epost,$epost,PDO::PARAM_STR);这就是手册上说的:$sth->bindParam(“:carries”,$carries,PDO::PARAM_INT);哦,对不起。在消息之后进行了一些更改。我编辑了主要问题。当然在第28行。请将您的问题发送至:澄清问题标题、更多细节或澄清问题、改进文本排列、改进代码格式。看,请上网,谢谢你,阿布伦修斯教授。它很有魅力。我有这个想法,但却被其他东西迷住了。在witch offcource是“尽力而为”的方式之前,它是用英语写的,但变量“name”的连接方式不正确,我用的是瑞典语;-:-)很好~很高兴它能帮上忙,碰巧你能在捕获物中回音$e,更不用说不应该有捕获块了all@YourCommonSense你能?我本以为在这一点上会有一个错误,它是一个对象!我对你评论中的双重否定感到困惑,
不应该是无捕获块
~你的意思是不应该有捕获块吗?是的,这是双重否定,不应该有捕获块。如果你看一看你回答的问题,这里有一个“不可能的”
echo$e
的输出谢谢Abronsius教授。它很有魅力。我有这个想法,但却被其他东西迷住了。在witch offcource是“尽力而为”的方式之前,它是用英语写的,但变量“name”的连接方式不正确,我用的是瑞典语;-:-)很好~很高兴它能帮上忙,碰巧你能在捕获物中回音$e,更不用说不应该有捕获块了all@YourCommonSense你能?我本以为在这一点上会有一个错误,它是一个对象!我对你评论中的双重否定感到困惑,
不应该是无捕获块
~你的意思是不应该有捕获块吗?是的,这是双重否定,不应该有捕获块。如果你看一看你回答的问题,就会发现“不可能的”echo$e的输出