我试图将数据添加到我的数据库中,但是它不能工作,并且没有显示错误消息。
order.php:
<?php
$con=mysqli_connect("localhost","root","","jutta");
//if form is submitted
if(isset($_POST['submit'])) {
$size=$_POST['shoe_sizes'];
$qan=$_POST['quantity'];
$details=$_POST['shipping_address'];
$contact=$_POST['contact'];
$date=date('Y-m-d');
$sql="INSERT INTO orders(size, qan, address, contact, date) VALUES ($size, '$qan', '$address', '$contact', '$date')";
$query=mysqli_query($con, $sql) or die('Query could not be connected.');
if($query) {
echo "success";
}
else {
echo "fail.";
}
}
?>My form:
<form action='order.php' method='post'>
<br>
<a href='admin/product_images/$pro_image' title='$pro_title' class='MagicZoom'>
<img src='admin/product_images/$pro_image' width='200' height='150' class='img-responsive'/></a><br>
Name: <font style='color:#2E9AFE; text-align: center;'><b>$pro_title </b></font>
<p><label>Price:</label> <font style='color:black; text-align: center;'><b> Rs. $pro_price </b></font></p>
<div class='row'>
<div class='col-sm-6'>
<b><label>Select Size:</label> </b><select name='shoe_sizes'>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select>
</div>
<div class='col-sm-6'>
<b><label>Quantity:</label> </b><select name='quantity'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select></div>
</div><hr>
<b style='color: grey;'><label>Shipping Address: <br></b><textarea name='shipping_address' cols='25' rows='3' required /></textarea><br>
<b><label>Contact No. :</label></b> <input name='contact' type='tel' id='phone' placeholder='Your Contact Number'>
<hr>
<button type='submit' name='submit' class='btn btn-primary'><a href='order.php' style='color:white; text-decoration:none;'>Order Now</a></button>
</form>它将我重定向到order.php文件,而不将数据插入数据库,甚至没有任何消息只是一个空白页。
发布于 2015-06-26 06:47:07
$dsn = 'mysql:dbname=stackdb;host=127.0.0.1'; // give your dbname instead of stackdb and host. If running on localhost,leave it as 127.0.0.1
$user = 'root'; //Give your username to access db.
$password = '*****'; // Replace **** instead of password. If you dont have password, delete only the stars not the quotes.
$dbh = new PDO($dsn, $user, $password);
$sql = "INSERT INTO stackdba (shoeSize,quantity,shippingAddress,contact) VALUES(?,?,?,?)"; //stackdba is the table name
$insert = $dbh ->prepare($sql);
$insert->execute(array($_POST['shoe_sizes'],$_POST['quantity'],$_POST['shipping_address'],$_POST['contact']));如果没有插入数据,那么如果看到空白页,就意味着在某个地方出现了语法错误。
试一试
error_reporting('E_ALL');在php文件的第1行中。
发布于 2015-06-26 04:33:12
像这样使用:
$sql="INSERT INTO orders(size, qan, address, contact, date) VALUES ('".$size."', '".$qan."', '".$details."', '".$contact."', '".$date."')";发布于 2015-06-26 04:36:01
在insert语句中,您在size变量上缺少单引号,因为它是作为字符串发布的。
$sql="INSERT INTO orders(size, qan, address, contact, date) VALUES ('$size', '$qan', '$address', '$contact', '$date')";您还将保留关键字日期用作订单表中的字段名之一。
https://stackoverflow.com/questions/31064873
复制相似问题