错误:SQLSTATE [HY093]:参数号无效:参数未定义NOOB

时间:2018-06-02 19:43:53

标签: php mysql pdo

当我尝试构建公告系统时,我收到此错误,每次都会收到此错误。这是我第一次做的PHP事情之一,如果它能够尽可能简单地获得帮助

<?php
$servername = "1234";
$username = "asd";
$password = "123";
$dbname = "admini";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // prepare sql and bind parameters
    $stmt = $conn->prepare("INSERT INTO information (name, info) 
    VALUES (:name, :anouncement)");
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':info', $info);

 $name = "sam";
 $info = "i hope this works without errors";
$stmt->execute();

    echo "New records created successfully";
    }
catch(PDOException $e)
    {
    echo "Error: " . $e->getMessage();
    }
$conn = null;
?>

1 个答案:

答案 0 :(得分:0)

我怎么看你定义params晚了你应该写这样的

  //first params define 
     $name = "sam";
     $info = "i hope this works without errors"; 
$stmt = $conn->prepare("INSERT INTO information (name, info) 
VALUES (:name, :anouncement)");
     //then bind 
     $stmt->bindParam(':name', $name);
     $stmt->bindParam(':anouncement', $info); //also change  info into anouncement

同时将信息更改为第二个参数的声明