使用HTML表单执行PHP脚本
您好,亲爱的,为什么我总是学习php失败,如果有人能帮助我,我将不胜感激。:'( 我在这里一步一步地被跟踪: 但当我点击“提交查询”按钮时,什么也没发生,只是显示一个空白的白色屏幕,我看不到数据库中的新数据使用HTML表单执行PHP脚本,php,html,mysql,Php,Html,Mysql,您好,亲爱的,为什么我总是学习php失败,如果有人能帮助我,我将不胜感激。:'( 我在这里一步一步地被跟踪: 但当我点击“提交查询”按钮时,什么也没发生,只是显示一个空白的白色屏幕,我看不到数据库中的新数据 <html> <body> <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname"> Lastname: <inp
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
名字:
姓氏:
年龄:
您的表名是“persons”,而不是“persons”
在进行查询时,表名必须与数据库中的表名相同。如果查看phpMyAdmin,则表名为带小写字母的“persons”
编辑依据:
@我可以吃奶酪汉堡
请在代码中更改表的名称,如,并确保将相应地换行引号:
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql='INSERT INTO persons (Firstname, Lastname, Age)
VALUES
("'.$_POST['firstname'].'","'.$_POST['lastname'].'","'.$_POST['age'].'");
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
一个空白屏幕意味着你大部分时间都在处理一些错误。你必须为你的本地开发打开错误报告。
检查列名是否按大小写在脚本中,而不是在数据库中
在大多数情况下,有一个ID列是您的唯一标识符是很方便的
良好实践:开始使用
首先,
您需要将PHP配置更新为:
内存限制=64M
确保增加内存
然后,您需要使用.htaccess
文件启用错误报告,或者使用php.ini
对其进行配置
之后,您可以调试您的工作。常见错误是,您没有用引号包装POST数组索引
像这样做:
$sql='INSERT INTO persons (FirstName, LastName, Age)
VALUES
("'.mysqli_real_escape_string($con,$_POST['firstname']).'","'.mysqli_real_escape_string($con,$_POST['lastname']).'","'.mysqli_real_escape_string($con,$_POST['age']).'");
此外,正如@seblaze所提到的,表名区分大小写,因此使用persons
而不是persons
为了更安全,请使用预先准备好的语句。尝试下面的代码,
在w3schools中,它使用mysqli,我也遇到了一些问题
在链接中有一些示例代码,它使用mysql危险:你很容易受到你需要的攻击。注意//安全性转义变量
教程中的一部分。谢谢你的建议亲爱的,我曾经听说过sql注入,也许当我了解PHP和sql时,我会一步一步地学习如何保护myself:)那么大写和小写都会生效吗?在这两个词中使用相同的词(表名和查询时)。如果数据库中有“persons”,那么在查询时也要加上“persons”哦,好的,你是对的。。非常感谢:)列也不匹配(FirstName
=>FirstName
和LastName
=>LastName
)。像这样亲爱的$sql=“插入到persons(FirstName,LastName,Age)值(mysqli_real_escape_字符串(“$”POST[FirstName]”)、mysqli_real_escape_字符串(“$”POST[LastName]”)、mysqli_real_escape_字符串(“$”POST[Age]”);亲爱的非常感谢:)但是我不能同时给两个人名誉:(感谢亲爱的来到这里并试图帮助我:))好的亲爱的感谢来到这里,我将在那个网站上学习:)是的,也可以看看www.php.net/manual/en/上的手册,在那里你可以得到关于php函数的所有信息以及如何使用它。希望有了它你会有一个更好的主意。
$sql='INSERT INTO persons (FirstName, LastName, Age)
VALUES
("'.mysqli_real_escape_string($con,$_POST['firstname']).'","'.mysqli_real_escape_string($con,$_POST['lastname']).'","'.mysqli_real_escape_string($con,$_POST['age']).'");