PHP连接mysql数据库没反应,怎么回事?

taoran12 2011-06-09 11:02:51
我用的是WAMP5,用phpmyadmin可以连接数据库并正常操作,但是在php里就不行,怎么回事啊?我新手。

连接代码如下:
$conn =mysql_connect("localhost", "root", "") or die("数据库链接错误");
$result=mysql_select_db("info", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
if($result){

echo "建立完成";


}else{

echo "建立错误".mysql_error();

}


在另一个php文件中插入数据代码如下:
<?php
/*
* Created on 2011-6-9
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
include("conn.php");

if($_POST['submit']){
$sql="insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
mysql_query($sql);
echo "成功";
}


?>

<form action="add_user.php" method="post">

用户:<input type="text" name="user_name" /><br/>

密码:<input type="text" name="PW" /><br/>
<input type="submit" name="submit" value="登陆"/>

</form>


既不显示连接成功也不显示错误,这怎么回事啊?
...全文
471 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
taoran12 2011-06-12
  • 打赏
  • 举报
回复
多谢大家热心的帮助,问题已解决。最近要用php,刚学不太懂 。
WPooh 2011-06-10
  • 打赏
  • 举报
回复
在php.ini中设置error_reporting = E_ALL,display_errors = On或者再加上error_log =……。查看什么错误。
xuzuning 2011-06-10
  • 打赏
  • 举报
回复
1、错误信息
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
是编译时刻错误,表示你的串中有语法错误,与运行无关
2、你说没有显示,是否包括 建立完成 ?
3、提交后才会有数据库操作,你提交了吗?
hatzhou 2011-06-10
  • 打赏
  • 举报
回复
你注意是不是那个插入时那个属性顺序是不是错了insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
就是 id user password的顺序
sycool889 2011-06-10
  • 打赏
  • 举报
回复
数据库连接文件应该没问题吧。你单独运行下数据库的连接文件、、
问题估计处在你的'".$_POST[user_name]."'上了。 ser_name要加单引号。PW也是同理、、改一下,试试看。

还有你的mysql_query($sql) 这么写好像是不对的。、
你改成$sel=mysql_query("select * from test where user='".$_POST['user_name']."' and password=$_POST['PW']");
$rows=mysql_num_rows($sel);
if($rows!=0)
{
echo "<script>alert('插入成功');history.go(-1)</script>";
exit();
}
else {
echo "<script>alert('插入失败');history.go(-1)</script>";
exit();
}

我也是新手,没学多长时间、、仅个人建议,你试试、、
WPooh 2011-06-10
  • 打赏
  • 举报
回复
我觉得sql语句应该没有问题。假如把sql改成$sql="insert into test (id,user,password) values('','$_POST[\"user_name\"]','$_POST[\"PW\"]')";的话,在机器上显示错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING。
如果不改的话,就没有问题。
se_marui_blog 2011-06-09
  • 打赏
  • 举报
回复
id如果是auto increment的话就不用为null了,如果是not null的话你这插入语句可能有问题。如版主所说,你那个取$_POST中,放的应该是""括起来的字符串。而且,使用完了之后,数据库连接木有关闭。我是新手,有什么不对的地方,请大家纠正。
adin283 2011-06-09
  • 打赏
  • 举报
回复
数据库用户名密码对不?
有对应的库和表吗?
可以echo下$conn,$result看看库有没有连上。
还有你的变量名$conn和文件名同名,可能会有问题
乌镇程序员 2011-06-09
  • 打赏
  • 举报
回复
include语句前加上下面一句,看看输出什么错误信息:
error_reporting(E_ALL);


另外,代码中这一句显然有问题:
$sql="insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
//↓
$sql="insert into test (id,user,password) values('','$_POST[\"user_name\"]','$_POST[\"PW\"]')";

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧