使用php和mysql,数据库显示插入成功,但是数据表内数据为空

        几个月之前写过的php现在也已经忘得差不多了,本来就不会多少,现在更是错误百出了。

        今天写了一个用户注册的界面,其他部分暂时不写,之贴出其中body部分

<body>
	<div class="container">
    	<?php include('lib/header.php'); ?>
		<div>			
			<table width="500" height="430" border="0" cellspacing="0" cellpadding="0">
			<form action="register_data.php">
			<thead>
				<tr>
					<th colspan="3">用户注册</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td width="84">用户名:</td>
					<td width="200"><input type="text" id="username" name="username" /></td>
					<td width="216"><span class="require">(*)</td>
				</tr>
				<tr>
					<td width="84">密码:</td>
					<td width="200"><input type="password" id="password" name="password" /></td>
					<td width="216"><span class="require">(*)</td>
				</tr>
				<tr>
					<td width="84">姓名:</td>
					<td width="200"><input type="text" id="realname" name="realname" /></td>
					<td width="216"><span class="require">(*)</span>请填写您的真实姓名</td>
				</tr>
				<tr>
					<td>联系电话:</td>
					<td><input type="text" id="phone" name="phone" /></td>
					<td><span class="require">(*)</span></td>
				</tr>
				<tr>
					<td>身份证号:</td>
					<td><input type="text" id="identification" name="identification" /></td>
					<td><span class="require">(*)</span></td>
				</tr>
				<tr>
					<td>电子邮箱:</td>
					<td><input type="text" id="email" name="email" /></td>
					<td> </td>
				</tr>
				<tr>
					<td colspan="3"><p style="color:#999">您的个人信息我们会妥善保管,不会泄露给第三方,请放心填写</p></td>
				</tr>
				<tr>
					<td colspan="3">
						<label>
							<input type="checkbox" id="agree" />
							我同意使用条款
						</label>
					</td>
				</tr>
				<tr>
					<td colspan="3">
						<input type="submit" value="提交申请">
					</td>
				</tr>
			</tbody>
			</form>
			</table>
		
		</div>
	</div>
</body>

数据库操作部分文件如下:

<?php
	include "../lib/connect.php";
	
		$name = $_POST["username"];
		$password = $_POST["password"];
		$realname = $_POST["realname"];
		$phone = $_POST["phone"];
		$identification = $_POST["identification"];
		$email = $_POST["email"]; 
		
		$sql = "INSERT INTO `cloudmedia`.`pc_customer` (`username`,`password`,`realname`,`phone`,`identification`,`email`) 
										VALUES ('$name','$password','$realname','$phone','$identification','$email')"; 

		if (mysql_query($sql))
		{
			header("Location:index.php?msg=insert_success");
			exit;
		}
		else
		{
			header("Location:index.php?msg=insert_error");
			exit;
		}
	
	mysql_close($conn);
?>

一直觉得自己的代码还算整齐,可是插入数据库一直不成功,能够返回insert_success的信息,但是数据苦中数据为空。我做了如下检查:

1. 将代码中的

INSERT INTO `cloudmedia`.`pc_customer` (`username`,`password`,`realname`,`phone`,`identification`,`email`) 
										VALUES ('$name','$password','$realname','$phone','$identification','$email')
在数据库中直接执行,发现可以执行。

2. 检查数据库连接语句,发现数据库名字不同,我突然发现自己真的很粗心,然后改过来。本以为这样就可以成功了,但是还是之前那样的问题。于是开始求助百度,直到看到一位前辈提醒,将$sql打印出来,放入数据库中执行。我一直觉得,这跟我第一步的操作不是一样的么?一直都没有这么试过,但是现在就死马当活马医吧,于是在表单中输入数据提交后,发现页面上打印出来的$sql居然后面跟的数据是空的,也就是:

INSERT INTO `cloudmedia`.`pc_customer` (`username`,`password`,`realname`,`phone`,`identification`,`email`) VALUES ('','','','','','')

居然没有数据传过来.....

原来在form表单中我没有加入method=”post“

原来自己真的好粗心啊,编程序这个事情一定要仔细,而且要一点点排查,不错过任何的可能性。以此告诫自己。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值