php mysql插入表只工作一次,不会';我不能再工作了?

php mysql插入表只工作一次,不会';我不能再工作了?,php,html,mysql,sql,Php,Html,Mysql,Sql,专业人士。我遇到了点麻烦。我只是尝试为我的一个目录创建一个简单的addsite函数,我能够创建查询,运行我的程序,并将一列添加到我的表中,没有问题。但后来我尝试添加一个条件,告诉我是否成功添加了记录。当我这样做的时候,我运行了它,我的if语句运行了“else”,这意味着它没有添加我的记录,从那里我不能再添加记录了。我已经消除了这种情况,但没有效果。每当我运行我的页面并将所有内容添加到文本字段时,不再添加任何记录 这是我的密码 <html> <body> <?ph

专业人士。我遇到了点麻烦。我只是尝试为我的一个目录创建一个简单的addsite函数,我能够创建查询,运行我的程序,并将一列添加到我的表中,没有问题。但后来我尝试添加一个条件,告诉我是否成功添加了记录。当我这样做的时候,我运行了它,我的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>

它位于我程序的底部,就在PHP声明关闭的正上方

首先,您不应该使用mysql扩展,而应该使用新安装的PHP上的新mysqli(mysql改进版)扩展。以下一行:

$result=mysql_query($addSQLQuery,$db_handle);
应为(mysqli扩展):


希望这有帮助

您必须尝试此修改后的代码。因为您遗漏了“mysql\u select\u db”行


检查错误$result=mysql\u query($addSQLQuery,$db\u handle)或die(mysql\u error());检查错误并告诉我们您遇到了什么错误。
$addSQLQuery=“INSERT INTO$Sitetbl(流派,站点地址,站点标题)
如果列名中有空格,请尝试
$addSQLQuery=“INSERT INTO$Sitetbl(流派,站点地址,
Site Title
警告:
mysql\u
函数从PHP5.5.0起已被弃用,并将在未来被移除。相反,应该使用or扩展名。@mohammadyasien,这不会有任何区别。:)检查,OP正在将正确的参数传递给mysql\u queryPost,已更改为仅反映mysqli扩展的使用。嘿,Mehul。我试着运行你的代码版本,我得到了“查询错误”?你能告诉我数据库的确切列名吗?所以我可以给你一个新的查询。好的,它是“ID”(自动递增)、类型、站点地址和站点标题。我认为列名有一些问题,正如你提到的最后一列“站点标题”。列名中不能包含空格。您必须尝试将列名重命名为id(自动递增)、流派、站点地址、站点标题,然后使用以下查询:$addSQLQuery=“插入到“$Sitetbl.”(流派、站点地址、站点标题)值(“$genre.”、“$site.”、“$name.”);你好,梅胡尔。不需要修改。最后,我添加了一些代码,并将“Site Title”更改为“Site_Title”,这似乎解决了我的问题。如果愿意,您仍然可以添加您的版本。它可能会帮助我进一步解决问题。非常感谢你!
$result=mysql_query($addSQLQuery,$db_handle);
$result=mysqli_query($db_handle,$addSQLQuery);
<?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>