【发布时间】:2013-06-15 12:08:24
【问题描述】:
我的html表单如下:
<html>
<body>
<form action="createconnection.php" method="post">
Firstname : <input type="text", name="fname"> </br>
Lastname : <input type="test" name="lname"> </br>
Age : <input type="text" name="age"></br>
<input type="submit">
</form>
</body>
</html>
和php文件: 表名和数据库名都可以。
<?php
// Create connection
$con=mysqli_connect('127.0.0.1:3306' ,'root','root','my_db');
echo "hi";
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO table1 (Fname, LName, Age)
VALUES
('$_POST[fname]','$_POST[lname]','$_POST[age]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
我尝试了很多,但是当我执行它时,它什么也没提供,也没有在表中更新。
【问题讨论】:
-
您使用的是
mysqli,这很好,但为什么不使用准备好的语句呢? -
除了sql-injection,您应该在
$sql的字符串语句中的每个$_POST周围使用{} -
是 LName 还是 Lname ?
-
使用 echo 或 print 打印查询,然后从浏览器复制打印的查询并使用 phpmyadmin 或任何方式在 mysql 中检查。