在PHP中创建准备好的语句

在PHP中创建准备好的语句,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我想编写一个PHP脚本,在该脚本中,我必须使用prepared语句在MySQL数据库中执行INSERT查询 因为我是PHP的初学者,所以我不知道该怎么做。所以我在Stackoverflow上查找,发现了这个 所以我开始用与公认答案相同的方法来做,但是在答案中,使用了一些方法,比如 准备要准备选择查询 bind_param将参数绑定到查询 close关闭$stmt 当我尝试使用它们时,visualstudio code不建议我使用它们。另外,当我使用这些方法并将指针悬停在它们上面时,visuals

我想编写一个
PHP
脚本,在该脚本中,我必须使用prepared语句在
MySQL
数据库中执行
INSERT
查询

因为我是
PHP
的初学者,所以我不知道该怎么做。所以我在
Stackoverflow
上查找,发现了这个

所以我开始用与公认答案相同的方法来做,但是在答案中,使用了一些方法,比如

  • 准备
    要准备
    选择
    查询

  • bind_param
    将参数绑定到查询

  • close
    关闭
    $stmt

  • 当我尝试使用它们时,
    visualstudio code
    不建议我使用它们。另外,当我使用这些方法并将指针悬停在它们上面时,
    visualstudio代码
    不会显示任何文档,这让我思考这些方法是否可用

    prepare
    方法不同,
    visualstudio code
    建议
    odbc\u prepare
    ,而不是
    bind\u param
    ,它建议
    mysqli\u bind\u param
    而不是
    close

    我使用的是
    PHP7.2


    问题:是像
    准备
    关闭
    这样的方法,
    bind_param
    php7
    中不可用,我可以使用
    visualstudio code
    建议的方法来代替这些方法吗?

    您只能使用这些函数,而不使用带有
    mysqli
    前缀的过程样式的
    mysqli
    对象

    然而,通常首选对象导向的样式


    .

    这些功能不是独立的功能。它们是PDO对象的方法。要了解有关PDO的更多信息,请查看本教程:


    “问题:像prepare、close、bind_param这样的方法在PHP7中不可用吗?我可以使用Visual Studio代码向我建议的方法来代替这些方法吗?”-为什么PHP7中不可用?在发布之前,您根本没有阅读手册吗?@FunkFortyNiner我确实阅读了文档。根据甘特的回答,
    prepare
    bind_-param
    只能与
    mysqli
    前缀一起使用,但是看看他们在
    mysqli
    对象中使用了
    prepare
    bind_-param
    方法的地方。我也在做同样的事情,但是Visual Studio code根本没有建议使用这些方法。因为VSC不关注php!你不会看到所有的建议,只是一些函数和方法,有一些php IDE提供了更多建议。只需谷歌“PHP IDE”(我个人使用atom,它不建议99%的PHP函数,也没有任何方法建议!但仍然喜欢它,干净且比VSC更快)看看他们在哪里将这些方法用于
    mysqli
    对象。当我使用对象方法时,不建议使用这些方法,它们仅在使用过程方法时才建议使用。
    $pdo = new PDO();
    $stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email AND status=:status');
    $stmt->execute(['email' => $email, 'status' => $status]);
    $user = $stmt->fetch();