【问题标题】:Trying to insert multiple form data into multiple tables to the database, no error given but not working尝试将多个表单数据插入到数据库的多个表中,没有给出错误但不起作用
【发布时间】:2014-11-27 00:20:46
【问题描述】:

当我运行我的代码时,我没有收到任何错误,也没有任何内容被发送到数据库,我似乎无法弄清楚问题可能出在哪里?

我是这个论坛的新手,也是 mysql 和 php 的新手,当你有多个表格要填写时,我不确定这是否是插入数据的正确方法

或者它可能与不正确的 html 输入属性有关?

$db = mysql_connect($dbhost, $dbusername, $dbpass);

        $db_select = mysql_select_db($dbdatabase, $db);
          if (!$db_select) {
           die ("Unable to select database: " . mysql_error());
          }

          $query = "SELECT * FROM members, login, skills, indivoffers";
          $result = mysql_query($query);

         if (isset($_POST['mrmrs'],$_POST['fname'],$_POST['lname'],$_POST['gender'],$_POST['addr1'],
                   $_POST['addr2'],$_POST['city'],$_POST['postcode'],$_POST['hometel'],$_POST['mobtel'],
                   $_POST['email'],$_POST['job'],$_POST['user'],$_POST['pass'],$_POST['skill1'],
                   $_POST['skill2'],$_POST['skill3'],$_POST['skill4'],$_POST['skill5'],$_POST['skill6'],
                   $_POST['skill7'],$_POST['skill8'],$_POST['skill9'],$_POST['ortitle'],$_POST['message'],
                   $_POST['offereq'],$_POST['cost'],$_POST['pay'])){
          $title = $_POST['mrmrs'];
          $name = $_POST['fname'];
          $name2 = $_POST['lname'];
          $gender = $_POST['gender'];
          $address1 = $_POST['addr1'];
          $address2 = $_POST['addr2'];
          $city = $_POST['city'];
          $pc = $_POST['postcode'];
          $telhome = $_POST['hometel'];
          $telmob = $_POST['mobtel'];
          $email = $_POST['email'];
          $job = $_POST['job'];

         $username = $_POST['user'];
         $password = $_POST['pass'];

        $skill1 = $_POST['skill1'];
        $skill2 = $_POST['skill2'];
        $skill3 = $_POST['skill3'];
        $skill4 = $_POST['skill4'];
        $skill5 = $_POST['skill5'];
        $skill6 = $_POST['skill6'];
        $skill7 = $_POST['skill7'];
        $skill8 = $_POST['skill8'];
        $skill9 = $_POST['skill9'];

         $titleor = $_POST['ortitle'];
         $mess = $_POST['message'];
         $offerequest  = $_POST['offereq'];
         $cost = $_POST['cost'];
         $pay = $_POST['pay'];

         $sql = "INSERT INTO members (Mr/Mrs, fname, lname, gender, DOB, addr1, addr2, city, postcode, telnohome, telnomob, email, job)
            VALUES ('$title','$name','$name2', '$gender', '$address1', '$address2', '$city', '$pc', '$telhome', '$telmob', '$email', '$job')";
        $letsid = mysql_insert_id( $db);

        $sql = "INSERT INTO login (letsID,username, password)
          VALUES (letsID),'$username','$password')";
        $letsid = mysql_insert_id( $db);

        $sql = "INSERT INTO skills (letsID, skill1, skill2, skill3, skill4, skill5, skill6, skill7, skill8, skill9)
          VALUES (letsID,'$skill1', '$skill2', '$skill3', '$skill4', '$skill5', '$skill6', '$skill7', '$skill8','$skill9')";
        $letsid = mysql_insert_id( $db);

        $sql = "INSERT INTO indivoffers (letsID, title, message, offer/request, cost, pay)
          VALUES (letsID,'$titleor','$mess', '$offerequest', '$cost', '$pay')";
        $letsid = mysql_insert_id( $db);
         }

     ?>

【问题讨论】:

  • 你并没有真正运行查询

标签: php html mysql post insert


【解决方案1】:

您正在正确地创建查询,但实际上并没有执行它们。

所以不用<?php $sql = "INSERT INTO ..."; ?> 你可以这样做

<?php $sql = mysql_query("INSERT INTO ..."); ?>

将变量设置为 mysql 查询将执行查询,因此现在应该运行您的查询。

【讨论】:

  • 我建议:mysql_query($sql); 让调试更容易。
猜你喜欢
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多