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