无法使用PHP在MySQL数据库中插入数据

时间:2012-10-16 12:54:49

标签: php mysql

我是网络开发的新手。我正在检查如何使用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。 你能指点我在哪里做错了吗?

3 个答案:

答案 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);
    ?>