我遇到了一些我编写的代码问题,希望标题有意义。我试图将人名和年龄插入我制作的表格中。我已经多次使用我的代码并且无法找出它的错误。我写的代码有什么问题,还是别的什么?与服务器的连接不是问题。感谢您的阅读
<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>
答案 0 :(得分:3)
您也可以尝试:
$sql = "INSERT INTO jack (First,Last,Age) VALUES ('".$_POST['first']."','".$_POST['last']."','".$_POST['age']."')";
注意'".
,点(。)用于PHP中的字符串concatenation。
还有一件事:$_POST
是associative 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
的值......