首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将html表单数据插入数据库

将html表单数据插入数据库
EN

Stack Overflow用户
提问于 2015-06-26 04:23:14
回答 7查看 197关注 0票数 0

我试图将数据添加到我的数据库中,但是它不能工作,并且没有显示错误消息。

order.php:

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
<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> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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文件,而不将数据插入数据库,甚至没有任何消息只是一个空白页。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-06-26 06:47:07

  1. 避免使用mysql_connect.Its depreciated.Use PDO连接。下面的代码将使用html进行测试,并将值插入到我的db中。
代码语言:javascript
复制
$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']));

如果没有插入数据,那么如果看到空白页,就意味着在某个地方出现了语法错误。

试一试

代码语言:javascript
复制
error_reporting('E_ALL');

在php文件的第1行中。

票数 0
EN

Stack Overflow用户

发布于 2015-06-26 04:33:12

像这样使用:

代码语言:javascript
复制
$sql="INSERT INTO orders(size, qan, address, contact, date) VALUES ('".$size."', '".$qan."', '".$details."', '".$contact."', '".$date."')";
票数 0
EN

Stack Overflow用户

发布于 2015-06-26 04:36:01

在insert语句中,您在size变量上缺少单引号,因为它是作为字符串发布的。

代码语言:javascript
复制
$sql="INSERT INTO orders(size, qan, address, contact, date) VALUES ('$size', '$qan', '$address', '$contact', '$date')";

您还将保留关键字日期用作订单表中的字段名之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31064873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档