StackOverflow 专业人士。我遇到了一些困难。我只是想为我的目录创建一个简单的添加站点功能,并且我能够创建查询,运行我的程序,并将一列添加到我的表中,没有问题。但后来我尝试添加一个条件来告诉我我的记录是否添加成功。当我这样做时,我运行了它,我的 if 语句运行了“else”,这意味着它没有添加我的记录,从那里我无法再添加记录。我后来删除了这个条件,但无济于事。每当我运行页面并将所有内容添加到文本字段时,就不再添加任何记录。
这是我的代码...
<html>
<body>
<?php
$user_name = "root";
$password = "";
$database = "mydirectory"; // name of database
$server = "127.0.0.1";
$Sitetbl = "tbl_mydirectory";
//define the variables sent from the form
//if form has been posted, do this
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$genre = trim($_POST["genre"]);
$site = trim($_POST["siteadd"]);
$name = trim($_POST["nameadd"]);
//connecting to database
$db_handle = mysql_connect($server, $user_name, $password);
//creating a query to add site
$addSQLQuery = "INSERT INTO $Sitetbl (Genre,Site_Address, Site Title)
VALUES ('$genre','$site','$name')";
$result=mysql_query($addSQLQuery,$db_handle);
}
?>
<!-- send page to itself using server variable -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<h2>Add Site</h2>
Genre:<input type="text" name="genre"></br>
Http://<input type="text" name="siteadd"><br>
Name:<input type="text" name="nameadd"></br>
<input type="submit" value="Add">
</form>
</body>
</html>
if 语句(不再出现在我的代码中)是这样的
if($result)
{
echo "Website added successfully!";
}
else
{
echo "Error adding website. Please check fields.";
}
它位于我的程序的底部,就在 PHP 声明结束的上方。
最佳答案
您必须尝试这个修改后的代码。因为您错过了“mysql_select_db”行。
<?php
$user_name = "root";
$password = "";
$database = "mydirectory"; // name of database
$server = "127.0.0.1";
$Sitetbl = "tbl_mydirectory";
//define the variables sent from the form
//if form has been posted, do this
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$genre = trim($_POST["genre"]);
$site = trim($_POST["siteadd"]);
$name = trim($_POST["nameadd"]);
//connecting to database
$db_handle = mysql_connect($server, $user_name, $password) or die('Host Connection Error');
mysql_select_db($database,$db_handle) or die('DB Connection Error');
//creating a query to add site
$addSQLQuery = "INSERT INTO $Sitetbl (Genre,Site_Address, Site Title)
VALUES ('$genre','$site','$name')";
$result=mysql_query($addSQLQuery,$db_handle) or die('Query Error');
}
?>
<!-- send page to itself using server variable -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<h2>Add Site</h2>
Genre:<input type="text" name="genre"></br>
Http://<input type="text" name="siteadd"><br>
Name:<input type="text" name="nameadd"></br>
<input type="submit" value="Add">
</form>
</body>
</html>
关于php mysql 插入表工作一次,不再工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20715777/