Nano Hash - криптовалюты, майнинг, программирование

Вставьте пользовательские данные в базу данных с помощью оператора INSERT

Из пользовательской формы: я пытаюсь вставить следующие данные: 1) Имя 2) Фамилия 3) Специальность 4) Год выпуска

Я могу подключиться к базе данных и выбрать нужную мне базу данных, но я не могу вставить данные из формы. Я могу создавать записи, но данные не сохраняются в базе данных. В основном, прямо сейчас я создаю пустые формы.

Переменная $uInput содержит пользовательские данные. Я попытался передать $uInput в функцию doAction(), но я считаю, что проблема именно в этом. Я пытаюсь понять, как передать пользовательские данные в функцию doAction().

 <?php  

    //Call function mainline
    mainline();

    // Declare the function mainline
    function mainline() {

        $uInput = getUserInput();

        $connectDb = openConnect(); // Open Database Connection
        selectDb($connectDb); // Select Database
        doAction($uInput);
        //closeConnect();
        //display();

    }

    //Declare function getUserInput ------------------------------------------------------------------------------------
    function getUserInput() {

        echo "In the function getUserInput()" . "<br/>";

        // Variables of User Input
        $idnum = $_POST["idnum"];              // id (NOTE: auto increments in database)
        $fname = $_POST["fname"];             // first name
        $lname = $_POST["lname"];            // last name
        $major = $_POST["major"];           // major
        $year = $_POST["year"];          // year
        $action = $_POST["action"];       // action (select, insert, update, delete)

        $userInput = array($idnum, $fname, $lname, $major, $year, $action);
            //echo "info from getUserInput: " . $action;    
        return $userInput;
    }


    function doAction($pUserInput) {
        // if user selects INSERT from dropdown menu, then call function insert 
       //and pass $uInput
        if ($pUserInput[5] == "ins") {
            insert($uInput);    
        }

    }

    // Create a database connection --------------------------------------------------------
    function openConnect() {
        $connection = mysql_connect("localhost", "root_user", "password");
            echo "Opened Connection!" . "<br/>";

        if(!$connection) {
            die("Database connection failed: " . mysql_error());
        }

        return $connection;
    }

    // Select a database to ---------------------------------------------------------------- 
    function selectDb($pConnectDb) {
        $dbSelect = mysql_select_db("School", $pConnectDb);
        if(!$dbSelect) {
            die("Database selection failed: " . mysql_error());
        } else {
        echo "You are in the School database! <br/>";   
        }

    }


    // function insert ---------------------------------------------------------------------
    function insert($pUInput) {

        $sql="INSERT INTO tblStudents (first_name, last_name, major, year)
              VALUES
             ('$pUInput[1]','$pUInput[2]','$pUInput[3]', '$pUInput[4]')";

            if (!mysql_query($sql))
              {
              die('Error: ' . mysql_error());
              }
            echo "1 record added";
    }

    ?> 
31.08.2010

  • все выглядит круто, когда вы печатаете_r($pUInput)? 31.08.2010

Ответы:


1

Ваша функция doAction() глючит. Вы принимаете параметр в функцию как $pUserInput, но отправляете в функцию insert() как $uInput.

Вы должны сделать это следующим образом:

function doAction($pUserInput)
{
     // if user selects INSERT from dropdown menu, then call function insert 
     //and pass $uInput
     if ($pUserInput[5] == "ins")
     {
            insert($pUserInput); // <-- FIXED: Not using correct parameter.
     }
}
31.08.2010
  • Ах! только что заметил! спасибо, я знал, что это как-то связано с передачей переменной. Добавлено 1 запись: не пусто! 31.08.2010
  • /хм, а год в базе 0000-00-00. похоже, я имею дело с другой проблемой. пользователь выбирает год из выпадающего меню (т.е. 2010, 2011, 2012 и т.д... и т.д...) 31.08.2010
  • @crewof1, задайте для этого отдельный вопрос. 31.08.2010

  • 2

    Изменить вставку ($uInput); функция для вставки ($pUserInput);

    31.08.2010
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..