在阅读之前,请注意我对 PHP 和 MYSQL 都很陌生。我已经在 MYSQL 数据库中创建了一个表。我现在想通过 PHP 将此表“吐出”到页面上。这部分我觉得还可以。将表数据输出到 HTML 表后,我想将 HTML 表单输出到我的页面上。所以,我现在有一个表格,后面跟着一个表格。该表单将包含一些文本框,提交后,这些文本框将发布用于将新行插入到上述预先存在的表中的数据。
以上所有代码当前都位于名为“display.php”的 PHP 文件中。
我的问题:
如果上述表单在插入新行并显示新表信息后回发到我的“display.php”文件,那么是什么阻止我的代码插入另一个充满 NULL 数据的新行?我确信我在解释这种情况方面做得不太好,所以我将发布一些代码。
HTML/PHP
<html>
<head>
<title>Html and PHP</title>
</head>
<body>
<!-- Form -->
<form action="insertdata.php" method="post">
Username: <input type="text" name="username" >
Hardware ID: <input type="text" name="hardwareid" >
<input type="submit" >
</form>
<?php
// Connect to MYSQL
$con = mysql_connect("localhost","blah","private");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Select database
mysql_select_db("dbname", $con);
// Insert posted data into table
$sql="INSERT INTO tablename(
Username,
HardwareID)
VALUES
('$_POST[username]','$_POST[hardwareid]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record successfully added...";
mysql_close($con)
?>
</body>
</html>
再说一次,我是一个完全的初学者 - 我理解这一点。我想知道,上面代码的不同部分必须放在多个文件中吗?我不想去一个新地址,这就是为什么这给我带来了如此多的困惑。
最佳答案
尝试这样的事情,
连接.php 文件
// Connect to MYSQL
$con = mysql_connect("localhost","blah","private");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Select database
mysql_select_db("dbname", $con);
显示.php 文件
<html>
<head>
<title>Html and PHP</title>
</head>
<body>
<!-- Form -->
<form action="process.php" method="post">
Username: <input type="text" name="username" >
Hardware ID: <input type="text" name="hardwareid" >
<input type="submit" >
</form>
</body>
</html>
process.php 文件
include_once("ur_file_dir/connection.php");
if ((isset($_POST['username']) && isset($_POST['hardwareid'])) {
$sql="INSERT INTO tablename(
Username,
HardwareID)
VALUES
($_POST['username'],$_POST['hardwareid'])";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record successfully added...";
mysql_close($con)
}
关于php - 仅在某些条件下将行插入 MYSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143080/