首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用php中准备好的状态插入到数据库中

如何使用php中准备好的状态插入到数据库中
EN

Stack Overflow用户
提问于 2014-07-09 07:59:13
回答 2查看 56关注 0票数 0

你好,我是一个java开发人员,但在这里我对php很陌生,我试图使用这里提到的准备好的语句将数据插入到数据库中,但是我得到了一个错误,我可以知道这是什么类型的错误,以及解决这个问题的任何帮助。

G:****\xampp\htdocs****\registrationControl.php中的错误:致命错误:调用第17行中的未定义方法mysqli_stmt::bindParam()

代码语言:javascript
复制
<?php

$con = new mysqli("127.0.0.1", "root", "", "ksbka");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
$firstname = mysqli_real_escape_string($con, $_POST['username_first']);
$username_email = mysqli_real_escape_string($con, $_POST['username_email']);
$username_tele = mysqli_real_escape_string($con, $_POST['username_tele']);
echo $firstname."@@@@@".$username_email;

$query="INSERT INTO instructorregistration (Id, Name, email, telephone) VALUES (?, ?, ?, ?)";

$pst = $con->prepare($query);
$pst->bindParam(1, "");
$pst->bindParam(2, $firstname);
$pst->bindParam(3, $username_email);
$pst->bindParam(4, $username_tele);
$pst->execute();
if (!mysqli_query($con,$pst)) {
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-09 08:09:51

我认为,如果要使用bindParam()方法,则该值应该是PDOStatement的一个实例。

你看到的医生说:

代码语言:javascript
复制
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);

我认为,$dbh是一个PDO实例,而不是mysqli实例。因为没有mysqli::bindParam()

要解决这个问题,您可以:

  1. 使用PDO类代替Mysqli
  2. 以最简单的方式创建查询: $query=“插入指令注册(Id、姓名、电子邮件、电话)值(NULL、$firstname、$username_email、$username_tele)";
票数 0
EN

Stack Overflow用户

发布于 2014-07-09 08:04:16

当您使用mysqli时,必须使用mysqli方法。

代码语言:javascript
复制
$stmt = $con->prepare($query);
$stmt->bind_param(1, "");
...
if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
/* explicit close recommended */
$stmt->close();

/* Non-prepared statement */
$res = $mysqli->query("SELECT id FROM test");
var_dump($res->fetch_all());

编辑:从正式的文档中添加了一些代码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24648278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档