当前位置:编程学习 > php >>

PHP表单载入数据库

这是HTML页<html>

<form action="add.php" method="POST">

用户:<input type="text" name="uid"><br>
密码:<input type="text" name="regdate"><br>
哈哈:<input type="text" name="remark"><br>
<input type="submit" value="提交">
</html>
这是add.php页

<?php
$conn=@mysql_connect("localhost","root","root") or dir("数据连接失败");
mysql_select_db("test",$conn);
mysql_query("set names 'GBK'");


$uid=$_POST[uid];
$regdate=$_POST[regdate];
$remark=$_POST[remark];


$sql = mysql_query(insert into test (id,uid,regdate,remark) values

(null,'$uid','$regdate','$remark');
?>

为什么载入不了数据库
答案:
代码好多严重错误...
1. $conn=@mysql_connect("localhost","root","root") or dir("数据连接失败");
dir是目录函数, 正确写法是die (die 是 exit 的别名).

2. 以下代码:
$uid=$_POST[uid];
$regdate=$_POST[regdate];
$remark=$_POST[remark];
应改成
$uid=$_POST["uid"];
$regdate=$_POST["regdate"];
$remark=$_POST["remark"];
否则uid, regdate, remark会被当做常数 (未定义的常数值等于常数名, 但如果这个常数定义过了, 就不是这样了);

3. 以上问题在这个例子里只是属于隐患, 下面这个导致你在屏幕上看到错误:
$sql = mysql_query(insert into test (id,uid,regdate,remark) values (null,'$uid','$regdate','$remark');
有两个错误.
(1). 如楼上描述, 少了引号;
(2). INSERT 语句中的 VALUES 子句少了右括号.
修改成:
$sql = mysql_query("insert into test (id,uid,regdate,remark) values (null,'$uid','$regdate','$remark')");

还有一些问题是关于变量命名规范的, 不在此次讨论之列.
$sql = mysql_query("insert into test (id,uid,regdate,remark) values 

(null,'$uid','$regdate','$remark'");

SQL语句少了引号

上一个:FLEX无法连接PHP
下一个:怎样可以学好PHP

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,