php - 插入数据 PDO 时出现问题

标签 php mysql pdo insert

我正在尝试插入用户填写的数据(注册表单)我遇到了问题,它没有插入数据,同时没有给我任何错误或原因,我已经检查了我的日志而一切,似乎并没有什么不妥。但我的查询没有执行。

  /* IN THIS FUNCTION WE REGISTER THE USER, WE CREATE A SALT, INSERT THAT SALT KEY INTO SALTS TABLE, THEN GET THE ID AND USE THAT ID IN PASSYSTEM TABLE WHERE WE STORE THE PASSWORD AND THE SALT ID THE MEMBER DATA IS STORED IN MEMBERS TABLE*/
    $data = $_POST;
    print_r($data);
    $salt = $this->gen_salt();
    $password =  hash('sha512', $salt.$data['password'].$salt, FALSE);
    print $password;
      $membersql = "INSERT INTO member (`firstname`,`lastname`,`email`,`gender`) VALUES (:firstname, :lastname, :email, :gender)";
      $memberquery = $db->prepare($membersql);
      $memberquery->bindParam(':firstname', $data['firstname'], PDO::PARAM_STR);
      $memberquery->bindParam(':lastname', $data['lastname'], PDO::PARAM_STR);
      $memberquery->bindParam(':email', $data['email'], PDO::PARAM_STR);
      $memberquery->bindParam(':gender', $data['gender'], PDO::PARAM_STR);

      $memberquery->execute();

最佳答案

bindparam 似乎有问题。

尝试这样:

$membersql = "INSERT INTO member (firstname,lastname,email,gender) VALUES (?, ?, ?, ?)";
$memberquery->execute(array($data['firstname'], $data['lastname'], $data['email'], $data['gender']));

这应该可以正常工作。

关于php - 插入数据 PDO 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28211509/

相关文章:

PHP PDO 占位符被替换为相同的值

php - 使用 git 的 Web 开发工作流程

mysql - Jboss/MySQL 垂直部署的优缺点

php - Mysql,从字段值和 id 值中选择行

php - while 循环只找到最后一次迭代

php - 如何在一个 MySQL 查询中组合两个 PDO 语句?

mysql - 如何获取mysql语句中的行数并返回?

php - 特殊类别帖子的不同循环

javascript - 如何像在 Wysiwyg 中一样在 Quill 中添加 "show html"按钮?

php - 适用于 Laravel 的 AWS SDK 给出 PHP fatal error