首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗体将空行插入数据表中。

问窗体将空行插入数据表中。
EN

Stack Overflow用户
提问于 2014-03-07 11:49:46
回答 2查看 391关注 0票数 0

我对此很陌生,这个问题已经困扰了我几天了。我已经找到了我的问题的答案,但找不到满足我所需要的任何东西。我试图通过表单将一些数据发送到数据库中,然后将各自的数据表示到一个显示特定行的表中。我的问题是,即使用户用something...anything填充表单,其中一个行(操作行)显示为空白数据。

这是我的Add.php文件:

代码语言:javascript
复制
<?php

$name="";$first="";$last="";$email="";$pass="";$acti="";

mysql_connect("localhost","admin") or die (mysqli_error());
$db=mysql_select_db("test") or die (mysql_error());

$con=mysqli_connect("localhost","admin","","test")or die (mysqli_error());
if (isset($_POST['save']))
{
    $name=mysql_real_escape_string($_POST['name']);
    $first=mysql_real_escape_string($_POST['first']);
    $last=mysql_real_escape_string($_POST['last']);
    $email=mysql_real_escape_string($_POST['email']);
    $pass=mysql_real_escape_string($_POST['pass']);
    if(isset($_POST['acti']){$actions=mysql_real_escape_string($_POST['acti']);}

    echo "A new record has been added!";

$query="INSERT INTO users (Name,FirstName,LastName,Email,Password,Actions) 
VALUES ('$name','$first','$last','$email','$pass','$acti')";
$result=mysql_query($query)
            or die (mysql_error()); 

}


mysqli_close($con);

?>
//the form is included in the file
<html>
<head>
    <body>
    <br/><br/><h2 align=center ><b> Registration page </b></h2><br/><br/><br/>
<form enctype="multipart/form-data" method="POST" action="" align=center >
Name: <input type="text" name="name" value="<?php echo $name;?>"> <br/>
First Name:<input name="first" input type="text" value="<?php echo $first;?>"> <br/>
Last Name:<input name="last" input type="text" value="<?php echo $last;?>"> <br/>
Email: <input type="text" name="email" value="<?php echo $email;?>"> <br/>
Password:<input type="password" input name="pass" value="<?php echo $pass;?>"> <br/>
Actions:<input name="action" input type="text" value="<?php echo $acti;?>"><br/<br/>
<input type="submit" name="save" value="Save">
</form>
<p align=center>Click <a href="List.php"> here</a> for a list!</p>
    </body>
</head>
</html>

这是我的List.php文件:

代码语言:javascript
复制
<?php
mysql_connect("localhost","admin") or die (mysql_error());
mysql_select_db("test") or die (mysql_error());
/*mysql_query("CREATE TABLE users(id INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),Name VARCHAR(255),FirstName VARCHAR(255),LastName VARCHAR(255),Email VARCHAR(255),Password VARCHAR(255),Actions VARCHAR(255))") or die (mysql_error());*/

echo"<table border='2' align=center>";
echo"<tr> <th>Name</th> <th>Email</th> <th>Actions</th> </tr>";
$result=mysql_query("SELECT * FROM users")or die(mysql_error());
while($row=mysql_fetch_array($result))
    {
        echo "<tr> <td>";
        echo $row['Name'];
        echo"</td> <td>";
        echo $row['Email'];
        echo"</td> <td>";
        echo $row['Actions'];
        echo"</td> </tr>";

    }
echo"</table>";
?>

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 11:54:16

当字段名为$_POST['acti'];时,您正在调用name='action'。

你说:

代码语言:javascript
复制
if(isset($_POST['acti']){$actions=mysql_real_escape_string($_POST['acti']);}
                  ^ acti                                            ^acti

您的HTML:

代码语言:javascript
复制
Actions:<input name="action" input type="text" value="<?php echo $acti;?>"><br/<br/>
                       ^action, not 'acti'

要么在表单中使用name='acti',要么在PHP中使用$_POST['action']。

请看此链接如何正确地使用mysqli。

票数 0
EN

Stack Overflow用户

发布于 2014-03-07 11:55:50

你在mysql和mysqli之间混在一起

将所有mysql代码切换到mysqli示例:

代码语言:javascript
复制
 $name=mysql_real_escape_string($_POST['name']);

应该是

代码语言:javascript
复制
$name=mysqli_real_escape_string($_POST['name']);

这

代码语言:javascript
复制
 $result=mysql_query($query)
        or die (mysql_error()); 

应该是

代码语言:javascript
复制
$result=mysqli_query($query)
        or die (mysqli_error()); 

这

代码语言:javascript
复制
 if(isset($_POST['acti'])

应该是

代码语言:javascript
复制
if(isset($_POST['action'])

顺便说一句:你用两种方法连接吗??mysql和mysqli ??

删除以下内容:

代码语言:javascript
复制
 mysql_connect("localhost","admin") or die (mysqli_error());//this connection is mysql and is also wrong without password.
 $db=mysql_select_db("test") or die (mysql_error());

只通过mysqli连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22249315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档