我有以下2个文件和一个在后台运行的数据库。我什么时候提交表格。数据未插入数据库。它成功连接到我的数据库,但没有插入:
update.html
<html>
<head><title>Test Page</title></head>
<body>
<h2>Data Collection</h2><p>
<form action="update.php" method="post">
<table>
<tr><td>id</td><td><input type="text" name="id" /></td></tr>
<tr><td>title</td><td><input type="text" name="title" /></td></tr>
<tr><td>name</td><td><input type="text" name="name" /></td></tr>
<tr><td>hello</td><td><input type="text" name="hello" /></td></tr>
<tr><td colspan="2" align="center"><input type="submit" /></td></tr>
</table>
</form>
</body>
</html>
update.php
<?php
$GLOBALS['title'];
$GLOBALS['id'];
$GLOBALS['name'];
$GLOBALS['hello'];
$hostname="localhost:3036";
$username="root";
$password="";
$con = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
// Check connection
if (mysql_error())
{
echo "Failed to connect to MySQL: " . mysql_error();
}
mysql_select_db('website');
$sql="INSERT INTO articles (id, title, name, hello)
VALUES('$id','$title','$name','$hello')";
mysql_close($con);
echo "test";
感谢所有帮助。
答案 0 :(得分:1)
您根本没有执行查询,并且在评论中正确说明,您没有正确设置变量;
更改您的代码以匹配:
$title = $_POST['title'];
$id = $_POST['id'];
$name = $_POST['name'];
$hello = $_POST['hello'];
$hostname="localhost:3036";
$username="root";
$password="";
$con = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
// Check connection
if (mysql_error())
{
echo "Failed to connect to MySQL: " . mysql_error();
}
mysql_select_db('website');
$sql="INSERT INTO articles (id, title, name, hello)
VALUES('$id','$title','$name','$hello')";
mysql_query ( $sql, $con);
mysql_close($con);
答案 1 :(得分:0)
请尝试以下代码: 注意:我只是忽略你不推荐使用的msqyl函数
<?php
$hostname="localhost:3036";
$username="root";
$password="";
$title = $_POST['title'];
$id = $_POST['id'];
$name = $_POST['name'];
$hello = $_POST['hello'];
$con = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
// Check connection
if (mysql_error())
{
echo "Failed to connect to MySQL: " . mysql_error();
}
mysql_select_db('website');
$sql=mysql_query("INSERT INTO articles (id, title, name, hello)
VALUES('$id','$title','$name','$hello')") or die(mysql_error());
mysql_close($con);
echo "test";
答案 2 :(得分:0)
首先,您没有定义要插入的变量。 '的$ id', '$标题', '$名', '$你好'。
定义插入前一个,当接受$ _POST时,使用
else {$id'= $_POST['id'];}
二。更重要的是,不要使用这样的代码,顺便说一句旧代,弃用代码和非常不健康代码。它很容易SQL INJECTION
。
而是使用PDO
,并清理用户提交的值。
另外,请避免使用$GLOBALS
,相同,旧,已弃用,不安全。
请参阅PHP sanitize,其中介绍了如何清理用户提交的数据。检查一下:
$id=filter_var($_POST['id'], FILTER_SANITIZE_STRING);