2017-02-01 3 views
0

Ich versuche, Daten in 2 Tabellen hinzuzufügen. Die Daten kommen in meiner Tabelle an und werden als Unternehmen ohne Probleme bezeichnet. Die Daten kommen jedoch nicht in den Tabellenbenutzern an. Ich bekomme keine Fehlermeldung und die Seite lädt anschließend die Admin-Seite.Hinzufügen von Daten zu 2 Tabellen

<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1"> 
    <title>Create a Company</title> 
    <link rel="stylesheet" type="text/css" href="/css.css"/> 

</head> 
<body> 
    <h2 class="header"> Create a Company </h2> 
    <form action="processcompany.php" method="post"> 
     <input class="entry" placeholder="Account No" name="accountno" type="text"><br> 
     <input class="entry" placeholder="Company Name" name="companyname" type="text" required="required"><br> 
     <input class="entry" placeholder="GST/VAT/ABN/TAX No" name="taxno" type="text" required="required"><br> 
     <input class="entry" placeholder="Address Line 1" name="address1" type="text" value=""><br> 
     <input class="entry" placeholder="Address Line 2" name="address2" type="text" value=""><br> 
     <input class="entry" placeholder="Suburb/County" name="suburb" type="text" value=""><br> 
     <input class="entry" placeholder="State" name="state" type="text" value=""><br> 
     <input class="entry" placeholder="Post/Zip Code" name="postcode" type="text" value=""><br> 
     <input class="entry" placeholder="Country" name="country" type="text" value=""><br> 
     <input class="entry" placeholder="Primary Contact" name="primarycontact" type="text" value=""><br> 
     <input class="entry" placeholder="Primary Email" name="primaryemail" type="text" value=""><br> 
     <input class="entry" placeholder="Subscription Type" name="subscriptiontype" type="text" value=""><br> 
     <input class="entry" placeholder="Subscription Status" name="subscriptionstatus" type="hidden" value="Active"><br> 
     <input class="entry" placeholder="Subscription End Date" name="subscriptionenddate" type="text" value=""><br><br><br> 



     <input class="entry" placeholder="login Email Address" name="loginname" type="text" value=""><br> 
     <input class="entry" placeholder="First and Last Name" name="counttypename" type="text" value=""><br> 
     <input class="entry" placeholder="User Type" name="usertype" type="hidden" value="Company Administrator"><br> 
     <input class="entry" placeholder="User Status" name="status" type="hidden" value="Active"><br> 
     <input class="entry" placeholder="Password" name="password" type="text" value=""><br> 
     <input class="button" type="submit"> 

    </form> 
</body> 
</html> 

das ist mein Skript-Datei

<?php 
include 'db.php'; 

$sql = "INSERT INTO `companies` 
      (`accountno`, `companyname` , 
      `taxno` , `address1`, `address2`, `suburb` , 
      `state` , `postcode`, `country`, `primarycontact` , 
      `primaryemail`, `subscriptiontype` , 
      `subscriptionstatus`, `subscriptionenddate`,  
      `datecreated`) 
    VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())"; 

$stmt = $conn->prepare($sql); 
if (! $stmt) { 
echo $stmt->error; 
exit; 
} 

$stmt->bind_param('isssssssssssss', 
       $_POST['accountno'], 
       $_POST['companyname'], 
       $_POST['taxno'], 
       $_POST['address1'], 
       $_POST['address2'], 
       $_POST['suburb'], 
       $_POST['state'], 
       $_POST['postcode'], 
       $_POST['country'], 
       $_POST['primarycontact'], 
       $_POST['primaryemail'], 
       $_POST['subscriptiontype'], 
       $_POST['subscriptionstatus'], 
       $_POST['subscriptionenddate'] 
      ); 

$stmt->execute(); 
if (! $stmt) { 
echo $stmt->error; 
exit; 
}  

$sqla = "INSERT INTO `users` 
      (`accountno`, `loginname` , 
      `password` , `countteamname`, `status`, `usertype` , 
      `datecreated`) 
    VALUES (?,?,?,?,?,?,NOW())"; 

$stmta = $conn->prepare($sqla); 
if (! $stmta) { 
echo $stmta->error; 
exit; 
} 

$stmta->bind_param('isssss', 
       $_POST['accountno'], 
       $_POST['loginname'], 
       $_POST['password'], 
       $_POST['countteamname'], 
       $_POST['status'], 
       $_POST['usertype'] 
      ); 

$stmta->execute(); 
if (! $stmta) { 
echo $stmta->error; 
exit; 
} 

mysqli_close($conn); 

header('location: admin.php'); 

?> 

meine db Werte sind

userid, accountno, loginname, password, countteamname, status, counttype, piid, datecreated 

counttype und piid sind in diesem Moment nicht in der Tabelle hinzugefügt wird. Benutzer-ID ist eine Auto-Inkrement-Nummer von mysql.

Sobald ich diese hochgeladen habe, werde ich daran arbeiten, das Passwort mit Hash zu sichern.

Ich habe versucht, dies für Stunden herauszufinden. Ich hoffe du kannst helfen.

+0

Ich sehe keine Eingabe mit 'countteamname' ->' $ _POST ['counteteamname'] '. Ich sehe einen 'name =" zählentypname "'. Ist das das Gleiche? Könnte Ihr Insert aufgrund eines 'null' Wertes für' counteamname'/'$ _POST ['counteteamname']' ' – Sean

+0

@Sean fehlschlagen Danke Sean, das war das Problem. Es wird jetzt zur db hinzugefügt. – Raggs

Antwort

0

von den Blicken von ihm Sich nur mit der Abfrage

was verketten zwei Abfragen

$ sql = nach einer Tabelle um „QUERY“;

$ sql. = "QUERY;";

Verwenden Sie die. =, Um beide Abfragen zu verketten.

+0

Mehrere Abfragen erfordern ['mysqli :: multi_query'] (http://php.net/manual/en/mysqli.multi-query.php), da die aktuellen Methoden nur eine einzige Abfrage pro Ausführung erlauben – Sean

Verwandte Themen