insert into不会将数据插入到我的表中

时间:2014-06-23 02:00:24

标签: php mysql sql database

我遇到了一些我编写的代码问题,希望标题有意义。我试图将人名和年龄插入我制作的表格中。我已经多次使用我的代码并且无法找出它的错误。我写的代码有什么问题,还是别的什么?与服务器的连接不是问题。感谢您的阅读

    <html>
 <head>
 </head>
 <body>
<form action="insertforrm.php" method="post">
    First Name:<input type="text" name= "first"><br/>
    Last Name: <input type ="text" name= "last"><br/>
    Age <input type= "text" name="age"><br/>
    <input type="submit" name="submit">

</form>
 <?php
 if (isset($_POST['submit'])) {

        $con = mysql_connect("localhost" , "root" , "root");
        if (!$con) {
            die("cant covnnect:" . mysql_error());

        }
        mysql_select_db("names",$con);

        $sql = "INSERT INTO jack (First,Last,Age) VALUES ('$_POST[first]','$_POST[last]','$_POST[age]')";
mysql_query ($sql,$con);

 mysql_close ($con);
}
?>
</body>
</html>

3 个答案:

答案 0 :(得分:3)

您也可以尝试:

$sql = "INSERT INTO jack (First,Last,Age) VALUES ('".$_POST['first']."','".$_POST['last']."','".$_POST['age']."')";

注意'".,点(。)用于PHP中的字符串concatenation

还有一件事:$_POSTassociative array。因此,请确保传递的key格式为string

DO: $_POST['first'] $_POST[first] ... 请注意 {{1}周围的单引号}}

答案 1 :(得分:0)

除了你shouldn't be using mysql_* functions以及让你自己疯狂地接触到意外错误和sql注入这一事实之外,你还没有正确使用字符串插值。试试这个:

$sql = "INSERT INTO jack (First,Last,Age) VALUES ('{$_POST['first']}','{$_POST['last']}','{$_POST['age']}')";

然后,一旦你开始工作,就把这些代码丢弃并使用准备好的语句来保证自己的安全。他们在一开始就做了一些额外的工作,但是他们处理了很多你以后不必做的调试。

答案 2 :(得分:0)

你的语法错误尝试传递$ _POST的值这里是代码..

$fname=$_POST['first'];
$last =$_POST['last'];
$age = $_POST['age'];

$sql = "INSERT INTO jack (First,Last,Age) VALUES ('$fname','$last','$age')";
mysql_query ($sql,$con);

mysql_close ($con);

如果你是php或编程的初学者,你应该知道如何使代码干净..这是一个很好的编程实践,可以在局部变量中传递$_POST的值......

相关问题