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