尝试将下拉列表中的数据作为外键插入另一个表中。未插入数据

时间:2018-06-02 11:32:05

标签: php database mysqli

我一直想弄清楚我的错误在哪里没有成功。我没有报告错误。我想从PHP表单中将数据插入到供应商表中。 id_drugstoresupplier表中的外键,可以从下拉列表中选择(下拉列表工作正常)。另一个日期由用户填写,id_supplier除外。

<?
   error_reporting(-1);
   $conn = mysqli_connect("localhost", "root", "", "retete");
   if(mysqli_connect_errno())
   {
    echo "Nu ma pot conecta la baza de date medical:" .mysqli_connect_error(); 
   }
    if(isset($_POST['submit']){

    $id_drugstore=$_POST['id_drugstore'];
    $name_suplier=$_POST['name_suplier'];
    $country_supplier=$_POST['county_supplier'];
    $county_supplier=$_POST['county_supplier'];
    $town_supplier=$_POST['town_supplier'];
    $street_supplier=$_POST['street_supplier'];
    $bank_suplier=$_POST['bank_suplier'];
    $no_cont_Bank=$_POST['$no_cont_Bank'];

    $qry=mysqli_query("INSERT INTO supplier `VALUES('sss','%$id_drugstore%',$_POST['name_suplier']','$_POST['county_supplier']','$_POST['county_supplier']','$_POST['town_supplier']','$_POST['street_supplier']','$_POST['bank_suplier']','$_POST['$no_cont_Bank']";`
    $inserted=($qry,$conn);
    if($inserted){
    echo "Datele au fost inserate cu suucess";
    }else{
    echo "datele nu au putut fi salvate in baza de date".mysqli_error($conn);
    }
    }
    mysqli_close($conn);
    }
    ?>

    <body>
    <div class="jumbotron">
    <div class="container">
    <h4 class="display-5">Adaugare Furnizori in baza de date</h4>
    <p class="lead">Completati formularul de mai jos</p>
    </div>
    </div>
    <form action="AdaugareFurnizori.php" method="POST">
    <div class="form-row">
    <div class="col-md-2 mb-3">
    <label for="validationServer01">Farmacie</label>
    <select name="name_drugstore">
    <option>Selecteaza farmacie</option>
    <?php
    $conn = mysqli_connect("localhost", "root", "", "retete");
    if(mysqli_connect_errno()){
    echo "Nu ma pot conecta la baza de date medical:".mysqli_connect_error(); 
    }           
    $q=mysqli_query($conn,"SELECT * FROM drugstore")or die(mysqli_error());

    $c=mysqli_num_rows($q);
    if($c==0){
    echo 'Nu exista farmacie in baza de date';
    }else{
    while($row=mysqli_fetch_array($q)){
    $id_drugstore=$row['id_drugstore'];
    $name_drugstore=$row['name_drugstore'];
    echo "<option value='$id_drugstore'>$id_drugstore/$name_drugstore<option>
    }
    }
    mysqli_close($conn);
    ?>
    </select>
    </div>
    </div>
    <div class="form-row">
    <div class="col-md-4 mb-3">
    <label for="validationServer01">Denumire Furnizori</label>
    <input type="text" name="name_suplier" class="form-control is-valid" id = "validationServer01" placeholder="Denumire Furnizor" required>
    </div>
    </div>
    <div class="form-row">
    <div class="col-md-2 mb-3">
    <label for="validationServer02">Tara</label>
    <input type="text" name="country_supplier" class="form-control is-valid" id="validationServer02" placeholder="Tara" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti tara.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer03">Judet</label>
    <input type="text" name="county_supplier" class="form-control is-valid" id="validationServer03" placeholder="Judet" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti judetul.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer04">Oras</label>
    <input type="text" name="town_supplier"class="form-control is-valid" id="validationServer04" placeholder="Oras" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti orasul.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer05">Strada si numar</label>
    <input type="text" name="street_supplier" class="form-control is-valid" id="validationServer05" placeholder="Strada" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti strada.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer04">Banca</label>
    <input type="text" name="bank_suplier"class="form-control is-valid" id="validationServer04" placeholder="Denumire Banca" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti banca.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer05">Cont</label>
    <input type="text" name="no_cont_Bank" class="form-control is-valid" id="validationServer05" placeholder="Numar Cont" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti numarul contului.
    </div>
    </div>
    <div class="submit">
    <button class="btn btn-primary" type="submit">Submit form</button>
    </div>
    </div>
    </form>

    </body>
    </html> 

2 个答案:

答案 0 :(得分:0)

该查询看起来很奇怪:

'
  • 删除反引号`
  • $_POST['name_suplier']'
  • 之前缺少一个开放$_POST
  • 该字符串中的所有{$_POST['name_suplier']}变量永远不会被替换,请将它们放在大括号中:name_suplier
  • 确保town_suppliermysql_query()
  • 之间没有拼写错误
  • 在查询结尾处缺少结束括号并作为hadoop-hdfs
  • 的结束括号

旁注:那个INSERT中是否应该有一个字段列表?

答案 1 :(得分:-1)

你的代码应该是。 如果你的供应商表有你要插入的所有这个字段,那么这将正常工作,但如果你跳过任何字段,那么mysqli_query不起作用

$qry="INSERT INTO supplier `VALUES('sss','%$id_drugstore%',$_POST['name_suplier']','$_POST['county_supplier']','$_POST['county_supplier']','$_POST['town_supplier']','$_POST['street_supplier']','$_POST['bank_suplier']','$_POST['$no_cont_Bank']')";

$inserted=mysqli_query($qry,$conn);