我是网络开发的新手。我正在检查如何使用php将数据从表单更新到服务器中的数据库。我似乎能够连接到数据库,但无法更新数据。
表单的html:
<html>
<head>
<title>Experiment with php and db</title>
</head>
<body>
<form name="form1" id="form1" method="post" action="formact.php">
<p><input type="text" name="fname" placeholder="first name"/></p>
<p><input type="text" name="lname" placeholder="last name"/></p>
<p><textarea name="words" placeholder="Enter what you think"></textarea></p>
<p><button type="submit"></button></p>
</form>
</body>
这是formact.php
<?php
$name=$_POST['fname']." ".$_POST['lname'];
$ta=$_POST['words'];
$con = mysql_connect();
$msg="status 0";
if (!$con)
{
$msg="db connect failed";
die('Could not connect: ' . mysql_error());
}
if ($con)
$msg="db connected";
mysql_select_db("php_test",$con);
$success=mysql_query("INSERT INTO news (title, blog_entry) VALUES ('$name','$ta')");
mysql_close($con);
?>
<html>
<head>
<title>Form with php</title>
</head>
<body>
<?php
echo $name."<br/>";
echo $ta."<br/>";
echo $msg."<br/>";
if(!$success)
echo "DB update failed..";
?>
</body>
</html>
我在回声中得到$msg=="db connected"
和!success==true
。
你能指点我在哪里做错了吗?
答案 0 :(得分:1)
自从我上次触摸php以来已经有一段时间了,所以这可能没什么用,但你可以试试这两件我要提出的建议:
1)我不确定,但我相信如果您想使用$success
,则需要在使用后关闭mysql_close($con);
。
2)你确定!$success
有效吗?我的意思是!
通常不是,但是做什么!成功是什么意思?空?
就像我说的那样,我可能完全错了,只是想帮忙......
答案 1 :(得分:1)
首先只是通过附加“mysql_query”来回显整个查询, 然后在phpmyadmin上运行该查询,您可以轻松地指出您的错误并纠正它。 通过做回声,您还可以看到值是否来自帖子......
答案 2 :(得分:0)
首先,不推荐使用mysql_ *您应该使用mysqli_ *或PDO
第二次连接到数据库
<pre>
<?php
$link = mysqli_connect('localhost', 'mysql_user', 'mysql_password'); //By default mysql_user=>root and mysql_password='' mean empty
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_select_db("php_test", $con);
mysqli_query("INSERT INTO news (title, blog_entry)
VALUES ('$name','$ta')");
mysqli_close($link);
?>