Проблемы с вводом информации в базу данных MySQL - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь ввести некоторую информацию о данных в БД в рабочем режиме, но не работает. Я использую PDO для подключения к БД, на моем локальном хосте работает правильно, а на сервере GoDaddy - нет.

Я использую MVC, когда я отправляю, я отправляю данные по POST, и в контроллере это похоже на

, когда я делаю отправку, я выполняю это


    $Registro = new ControladorUsuarios();
    $Registro -> ctrRegistroUsuario();
static public function ctrRegistroUsuario(){



    if (isset($_POST["regUsuario"])) {
        if (preg_match('/^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ.]+$/', $_POST["regUsuario"]) &&
          preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $_POST["regEmail"]) &&
          preg_match('/^[a-z0-9][a-z0-9.]+$/', $_POST["regPassword"])) {

          $encriptar = crypt($_POST["regPassword"], '//hash');

          $encriptarEmail = md5($_POST["regEmail"]);

          $datos = array(
            "usuario" => strtolower($_POST["regUsuario"]),
            "email" => strtolower($_POST["regEmail"]),
            "password" => $encriptar,
            "nombre" => strtolower($_POST["regNombre"]),
            "apellidos" => strtolower($_POST["regApellido"]),
            "telefono" => $_POST["regTelefono"],
            "verificacion" => $encriptarEmail
          );

          $tabla = "usuario";

          $respuesta = ModeloUsuarios::mdlRegistroUsuario($tabla, $datos);

          if ($respuesta == "ok") {

            /*===================================================================
            =            HERE I SEND A CONFIRMATION MAIL ACCOUNT           =
            ===================================================================*/

            $envio = $mail->Send();

            if (!$envio) {

              echo'error';

            } else {

              echo 'success';

            }

          }else{

            echo 'error2';

          }

        }
      }

    }

когда я делаю отправку, ошибка переходит к error2, и в моей модели у меня это

    public static function mdlRegistroUsuario($tabla, $datos){

      $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla (usuario, email, password, nombre, apellidos, telefono, verificacion) VALUES (:usuario, :email, :password, :nombre, :apellidos, :telefono, :verificacion)");

      $stmt->bindParam(":usuario", $datos["usuario"], PDO::PARAM_STR);

      $stmt->bindParam(":email", $datos["email"], PDO::PARAM_STR);

      $stmt->bindParam(":password", $datos["password"], PDO::PARAM_STR);

      $stmt->bindParam(":nombre", $datos["nombre"], PDO::PARAM_STR);

      $stmt->bindParam(":apellidos", $datos["apellidos"], PDO::PARAM_STR);

      $stmt->bindParam(":telefono", $datos["telefono"], PDO::PARAM_STR);

      $stmt->bindParam(":verificacion", $datos["verificacion"], PDO::PARAM_STR);

      if ($stmt->execute()) {
        return "ok";
      } else {
        return errorinfo();
      }

      $stmt->close();

      $stmt = null;

    }

В моем error_log появляется эта ошибка

    #0 route/Controladores/usuarios.controlador.php(33): ModeloUsuarios::mdlRegistroUsuario('usuario', Array)
    #1 route/registro.php(42): ControladorUsuarios::ctrRegistroUsuario()
    #5 {main}
      thrown in route/Modelos/usuarios.modelo.php on line 31

Я действительно незнаю, в чем проблема, надеюсь, кто-то может мне помочь

...