Вставка PHP с помощью bind_param - PullRequest
0 голосов
/ 24 января 2019

В настоящее время я работаю, пытаясь использовать операторы mysqli_prepare и bind_param для более безопасной передачи аргументов в мой запрос.Я делал mysqli_query, чтобы выполнить их, прежде чем работал нормально.Мой профессор требует, чтобы мы использовали готовить все же.В настоящее время я получаю правильные значения из своей формы, но данные не заносятся в таблицу клиентов.Кроме того, у меня есть mysqli_error () в моих командах execute (), но я не получаю никаких ошибок, что затрудняет отладку.Вот часть php, расположенная в register.php

<?php
    require 'connection.php';

    $result = "";

    if(isset($_POST['register'])) {


        #Fetch the data from the fields
        $username = $_POST['username'];
        $password = $_POST['password'];
        $name = $_POST['name'];
        $total = 0.0;

        #echo $username . " " . $password . " " . $name . " " . $total;

        #Prepare sql query to see if account already exists
        $query = mysqli_prepare("SELECT * FROM customer WHERE username=?");
        $query->bind_param("s", $username);
        $query->execute() or die(mysqli_error());

        if(mysqli_num_rows($query) > 0) {
            #This username already exists in db
            $result = "Username already exists";
        } else {
            $insert = mysqli_prepare("INSERT INTO customer(username, password, name, total) VALUES (?, ?, ?, ?)");
            $insert->bind_param("sssd", $username, $password, $name, $total);
            $insert->execute() or die(mysqli_error());
            #$result = "Account registered!"
        }

    }



 ?>

Я устанавливаю соединение с моим БД, как это в connection.php

 $conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

Как я уже говорил, я могу получить запросвыполнить с mysqli_query, но по какой-то причине я не могу заставить работать param.Также попытался добавить или умереть, но ошибки не выводятся

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...