在使用php进行数据库连接后修改后它无法正常工作

时间:2014-09-12 05:11:17

标签: php mysql

经过一些修改之后,这很奇怪。输入框现在不显示,并且值未保存在数据库中。

这是正确或正确的代码是什么?见下文

PHP(add.php)

 <?
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$dbh=mysql_connect('localhost', 'username', 'password', 'port')
if (!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh)
if (!$db) 
{ 
die(mysql_error()); 
}
$result=mysql_query("INSERT INTO `tablename` VALUES ('$contract_num', '$random_data')");
if(!$result) 
{  
die(mysql_error());
}
echo "Your information has been successfully added to the database."; 
?>

HTML:

<?php
include "add.php";
?>

<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" value="Upload file">
</form>

5 个答案:

答案 0 :(得分:1)

在代码中进行一些更改:

1)$dbh=mysql_connect('localhost', 'username', 'password', 'port');$db=mysql_select_db("test", $dbh);

中缺少分号

2)将<?更改为<?php

3)尝试仅在设置时调用表单变量。即,如果提交表格。

<?php
/* Write the code for db connection on top */
$dbh=mysql_connect('localhost', 'username', 'password', 'port');
if (!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh);
if (!$db) 
{ 
die(mysql_error()); 
}

if(isset($_POST))   // call POST variables only if it is set
{
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$result=mysql_query("INSERT INTO `tablename` VALUES ('$contract_num', '$random_data')");
if(!$result) 
{  
die(mysql_error());
}

echo "Your information has been successfully added to the database."; 
}

4)将include "add.php";更改为include_once "add.php";,以确保该文件仅包含一次。

答案 1 :(得分:1)

add.php

<?php
$contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
$dbh=mysql_connect('localhost', 'root', '');
if(!$dbh) {
die(mysql_error());
}
$db=mysql_select_db("database", $dbh);
if (!$db) 
{ 
die(mysql_error()); 
}
$result=mysql_query("INSERT INTO `tablename` (column_1,column_2)VALUES ('$contract_num', '$random_data')");
if(!$result) 
{  
die(mysql_error());
}
echo "Your information has been successfully added to the database."; 
?>  

简而言之

$ result = mysql_query(“INSERT INTO yourtablename(colum_1,column_2)VALUES('$ contract_num','$ random_data')”);

简而言之,您在查询中缺少列名,根据列名更改column_1和Column_2,并从连接中删除端口

并给表格动作=“add.php”

<?php
include "add.php";
?>

<form action="add.php" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" value="Upload file">
</form>

答案 2 :(得分:0)

在localhost中无需提供端口。

$dbh=mysql_connect('localhost', 'username', 'password',)

在表格中使用此。

<form action="somapage.php" method="post" enctype="multipart/form-data">

答案 3 :(得分:0)

对我来说,我必须像这样写我的代码。

//give form an action
//I want to php_self so
<form action="<?php echo $_SERVER('PHP_SELF'); ?>" method="post" enctype="multipart/form-data"></form>

然后在我的PHP代码上,我只需验证是否有posted数据

<?php
   if(isset($_POST['submit'])) {
      //do code here 
   }

  //so that on the first run of the page it will not cause an error
 ?>

希望它有所帮助。

答案 4 :(得分:0)

或者使用它,它在我的本地服务器上运行。在你的行动意味着targetpage.php使用下面的代码。

       if(isset($_POST['submit']))
        {
         $con = mysql_connect('localhost', 'username', 'password');
            if (!$con)
              {
              die('Could not connect: ' . mysql_error());
              }
            mysql_select_db('database_name', $con);
            $sql="set names 'utf8'";// for unicode support, must use after mysql_select_db() function.
            mysql_query($sql); 
            mysql_query('SET CHARACTER SET utf8')or die('charset problem:'.mysql_error());
            mysql_query("SET SESSION collation_connection ='utf8_general_ci'") or die('collation problem:'.mysql_error()); 
            $contract_num=$_POST['contract_num'];
$random_data=$_POST['random_data'];
            $sql="INSERT INTO tablename (contract_num,random_data)
              VALUES 
                ('$contract_num', '$random_data')";
         if (!mysql_query($sql,$con))
          {
          die('Error: ' . mysql_error());
          }
    }

在表格中使用此。

    <?php
include "add.php";
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="text" name="contract_num"><br>
<input type="text" name="random_data"><br>
<input type="submit" name="submit" value="Upload file">
</form>