Php 在中插入多个插件将不起作用
我在这里还是一个新手,我的代码有一个错误,我想要的是当我添加一些东西时,所有三个表都应该有这些数据,但是只有一个表有这些数据,留下两个表为空 这是我的html:Php 在中插入多个插件将不起作用,php,jquery,mysql,Php,Jquery,Mysql,我在这里还是一个新手,我的代码有一个错误,我想要的是当我添加一些东西时,所有三个表都应该有这些数据,但是只有一个表有这些数据,留下两个表为空 这是我的html: <table class="table table-bordered " > <thead> <tr> <th><center>Product code</center></th> <th><center>Name<
<table class="table table-bordered " >
<thead>
<tr>
<th><center>Product code</center></th>
<th><center>Name</center></th>
<th><center>Price</center></th>
<th><center>Quantity</center></th>
<th><center>Total</center></th>
</tr>
</thead>
<tbody>
<?php
$i=0;
$sql = "SELECT * FROM product, inventory WHERE inventory.product_code = product.product_code AND array = 1 ";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query)) {
while ($row = mysql_fetch_array($query)) {
$i++;
echo "<tr id='invoicelist'>";
echo "<td id='pcode-".$i."'>".$row['product_code']."</td>";
echo "<td class='col-xs-3'>".$row['name']."</td>";
echo "<td class='col-xs-2'><input type='hidden' id='price-".$i."' alt='totalqp-".$i."' value='".$row['product_price']."'/>".$row['product_price']."</td>";
echo "<td class='col-xs-3'><div class='input-group'><input id='Quantity-".$i."' name='Quantity-".$i."' type='number' placeholder=''
class='form-control input-xs Quantity' min='1' max=".$row['quantity']." alt='".$i."' required>
<span class='input-group-addon'>".$row['quantity']."</span></div></td>";
echo "<td class='col-xs-2'><div id='totalqp-".$i."' class='totalq'>0</div></td>";
echo "</tr>";
}
}
?>
</tbody>
<tfoot>
<th></th>
<th></th>
<th><label class="pull-right">Total</label></th>
<th>
<div id="totalquantity">0</div>
</th>
<th>
<div id="totaltotal">0</div>
</th>
</tfoot>
</table>
<form class="form-horizontal" method="POST" action="E_invoice.php">
<fieldset>
<!-- Form Name -->
<legend></legend>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="Cname">Customer name</label>
<div class="col-md-5">
<input id="Cname" name="Cname" type="text" placeholder="" class="form-control input-md" required>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="Contact_num">Contact num</label>
<div class="col-md-5">
<input id="Contact-num" name="Contact_num" type="text" placeholder="" class="form-control input-md" required>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="Address">Address</label>
<div class="col-md-5">
<input id="Address" name="Address" type="text" placeholder="" class="form-control input-md" required>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label" for="Date">Date</label>
<div class="col-md-5">
<input id="Date" name="Date" type="date" placeholder="" class="form-control input-md" required>
</div>
</div>
<div>
<div class="col-md-9"></div>
<button id="Add" name="Add" class="btn btn-primary">Cancel</button>
<input type="submit" class="btn btn-warning" id="invoice-yes">
</div>
</fieldset>
</form>
php插入代码:
<?php
session_start();
include('connection.php');
$Cname = $_POST['Cname'];
$Cnum = $_POST['Cnum'];
$Address = $_POST['Address'];
$Dates = $_POST['Dates'];
$totalp = $_POST['totalp'];
$quant = $_POST['quant'];
$pcode = $_POST['pcode'];
$sql = "INSERT INTO customer (name,address,contact) VALUES ('$Cname', '$Address', '$Cnum') ";
$query = mysql_query($sql) or die(mysql_error());
$s = "SELECT * FROM customer WHERE customer_id = LAST_INSERT_ID() ";
$q = mysql_query($s) or die(mysql_error());
$r = mysql_fetch_array($q);
$s2 = "SELECT * FROM employee WHERE username = '".$_SESSION['sess_user']."' ";
$q2 = mysql_query($s2) or die(mysql_error());
$r2 = mysql_fetch_array($q2);
$sql2 = "INSERT INTO order (Dates,total_amount,customer_id,employee_name) VALUES ('$Dates', '$totalp', '".$r['customer_id']."', '".$r2['employee_name']."' ) ";
$query2 = mysql_query($sql2) or die(mysql_error());
$s3 = "SELECT * FROM order WHERE order_id = LAST_INSERT_ID() ";
$q3 = mysql_query($s3) or die(mysql_error());
$r3 = mysql_fetch_array($q3);
$sql3 = "INSERT INTO order_details (quantity, product_code, order_id) VALUES ('$quant', '$pcode', '".$r3['order_id']."') ";
$query3 = mysql_query($sql3) or die(mysql_error());
if($query && $query2 && $query3)
{
echo "<center>success</center>";
}
else {
echo mysql_error();
}
?>
我在$sql2和$sql3中发现了错误。该错误是在int值中加单引号的错误。当您向这样的变量添加引号时,您已经将其设置为字符串。我不确定客户id,但我建议您将其存储为int,订单id也是如此
在$sql2中,我删除了$totalp和$r['customer_id'中的单引号
在$sql3中,我删除了$quant和$r3['order_id']中的单引号。但是,我不知道product_代码是否为int,所以我将其保留为int
如果是int,那么只需删除$pcode中的单引号。@TVK没有错误,他只是想让你看看他的代码有多漂亮。在我的php插入代码中,只有第一次插入到execute时出错,所以。。。您要向我们显示错误吗?将$\u POST数据直接放入查询中,而不显示错误?有什么可能!?请不要这样做。您还使用了不推荐使用的mysql_查询接口,该接口将从PHP中删除,因此最终您将不得不使用它。最好现在就开始,解决过程中的许多问题。你是新来的没关系,继续读吧。@Fred-ii-谢谢你让我的答案更具可读性。我是新来的:-
<?php
session_start();
include('connection.php');
$Cname = $_POST['Cname'];
$Cnum = $_POST['Cnum'];
$Address = $_POST['Address'];
$Dates = $_POST['Dates'];
$totalp = $_POST['totalp'];
$quant = $_POST['quant'];
$pcode = $_POST['pcode'];
$sql = "INSERT INTO customer (name,address,contact) VALUES ('$Cname', '$Address', '$Cnum') ";
$query = mysql_query($sql) or die(mysql_error());
$s = "SELECT * FROM customer WHERE customer_id = LAST_INSERT_ID() ";
$q = mysql_query($s) or die(mysql_error());
$r = mysql_fetch_array($q);
$s2 = "SELECT * FROM employee WHERE username = '".$_SESSION['sess_user']."' ";
$q2 = mysql_query($s2) or die(mysql_error());
$r2 = mysql_fetch_array($q2);
$sql2 = "INSERT INTO order (Dates,total_amount,customer_id,employee_name) VALUES ('$Dates', '$totalp', '".$r['customer_id']."', '".$r2['employee_name']."' ) ";
$query2 = mysql_query($sql2) or die(mysql_error());
$s3 = "SELECT * FROM order WHERE order_id = LAST_INSERT_ID() ";
$q3 = mysql_query($s3) or die(mysql_error());
$r3 = mysql_fetch_array($q3);
$sql3 = "INSERT INTO order_details (quantity, product_code, order_id) VALUES ('$quant', '$pcode', '".$r3['order_id']."') ";
$query3 = mysql_query($sql3) or die(mysql_error());
if($query && $query2 && $query3)
{
echo "<center>success</center>";
}
else {
echo mysql_error();
}
?>
$sql2 = "INSERT INTO order (Dates,total_amount,customer_id,employee_name)
VALUES ('$Dates', $totalp, ".$r['customer_id'].", '".$r2['employee_name']."' ) ";
$sql3 = "INSERT INTO order_details (quantity, product_code, order_id)
VALUES ($quant, '$pcode', ".$r3['order_id'].") ";