返回   CHF站长论坛 > 综合讨论区 > 网站开发与设计

网站开发与设计 网页设计、网站开发、网站维护与调试交流区。

双至强仅二千,企商在线,最早租用商 传世私服 魔域私服 亿恩1元帮您升级服务器! 天龙八部私服 传奇世界私服
传奇私服 仙境私服 天龙八部私服 传奇私服 传世私服 完美世界私服 魔域私服 传奇私服
发表新主题 回复
 
主题工具 主题评分 显示模式
旧 2006-05-01, 05:04   #1 (页面定位)
xledoo
 
xledoo 的头像
 
注册日期: 2005-11-15
帖子: 109
xledoo 是普普通通的会员
问题 大家帮忙看下!PHP连接MSSQL受阻!

先申明一下~小弟今天刚学PHP,属菜菜菜小鸟,看了别骂,希望大家帮忙!

目的:通过PHP连接MSSQL,并能插入(用户注册),查询(用户列表)!
方法:1。直接连接MSSQL。 2。通过文件ODBC数据源!

实际操作受阻:
方法1:
直接连接MSSQL,设置了常用变量以后可以正常连接数据库了!并能查询!代码如下:
代码:
<?php
require_once 'config.inc.php';   //引用变量

$connect = @mssql_connect($Server,$User,$Pass) or die("不能成功连接 $Server 服务器,请检查sa帐号密码是否填写正确"); 
$db = @mssql_select_db($test, $connect) or die("不能连接选择的 $test 数据库,请填写正确的test数据库名称"); 
$query = "SELECT name From users";    //从users表中查询name
$result = mssql_query($query);
while($row = mssql_fetch_array($result)) 
{ 
echo "<li>" . $row["name"] . "</li>";   //列出name
}
这样就算简单的列出用户了!但小弟不管用什么方法都不能注册!数据插入不了!
下面是reg.php页面的code~麻烦大家给看看!
代码:
require_once 'config.inc.php';  //引用
$connect = @mssql_connect($Server,$User,$Pass) or die("不能成功连接服务器,请检查sa帐号密码是否填写正确"); 
mssql_select_db($test, $connect) or die("不能连接选择数据库,请填写正确数据库名称"); 
 

$login_id     =$_POST['name'];//这是传递~!没错吧?
$d_email     =$_POST['email'];
$passwd     =$_POST['passwd'];

if($action == "reg")
{
    $db = @mssql_select_db($test, $connect) or die("不能连接选择的数据库,请填写正确的数据库名称");
    $query = $db->query("INSERT INTO users(name,email,passwd) values ('".$name."','".$email."','".$passwd."')");//插入有问题吗?
    $Result = mssql_query($query,$db); //这里搞不懂,用$connect效果也一样!
	if($Result)  //如果插入,显示“添加成功”
	{
		echo '添加成功';
	}
}
else
{ 
echo "添加失败","<br>";
}


echo "$name","<br>","$email","<br>","$passwd";    //事实证明传递没有问题,因为“添加失败”后填写的资料都能显示!

mssql_close();
?>
我写了个htm,FORM的提交地址是“reg.php?action=reg" 这里应该没有错!因为填写的资料都传递到reg.php了!
大家帮我看看啊!


独乐乐不如众乐乐

此帖于 2006-05-01 05:19 被 xledoo 编辑.
xledoo 当前离线   回复时引用此帖
旧 2006-05-01, 05:12   #2 (页面定位)
红杏
 
注册日期: 2005-09-05
帖子: 415
红杏 是一个将要出名的人红杏 是一个将要出名的人红杏 是一个将要出名的人红杏 是一个将要出名的人红杏 是一个将要出名的人红杏 是一个将要出名的人
默认

我比你还菜!
http://bbs2.chinahtml.com/26910
红杏 当前离线   回复时引用此帖
旧 2006-05-01, 05:47   #3 (页面定位)
xledoo
 
xledoo 的头像
 
注册日期: 2005-11-15
帖子: 109
xledoo 是普普通通的会员
默认

方法2
PHP连接ODBC
首先我建立的ODBC文件DNS
打开ODBCAC32 选择”文件DNS“---SQL Server ---ID和NT验证---建立了"test.dns”文件
路径为C:\Program Files\Common Files\ODBC\Data Sources\test.dns 测试连接成功!

然后是PHPcode:
代码:
// 这里的$dns是指的我建立的test这个名称吗?
$connection = odbc_connect( $dns, $user, $pass ) or die("不能成功连接服务器");
通过这种方法无法连接,而且奇怪的是错误显示 "用户 IUSR_* 登陆失败“,IUSR_*不是系统来宾帐号吗?SA和密码都没有用!不知道为什么!
然后我修改了 IUSR_* 帐号的密码!并修改了MSSQLSERVER服务的启动帐号为 IUSR_* ,这样就能连接了~可用的同样不是SA帐号,而是IUSR_*帐号!

请高手解答一下!拜托了!指条明路吧!


独乐乐不如众乐乐
xledoo 当前离线   回复时引用此帖
旧 2006-05-01, 09:44   #4 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

PHP 代码:
$query $db->query("INSERT INTO users(name,email,passwd) values ('".$name."','".$email."','".$passwd."')");//插入有问题吗? 
如果连接正常,别的问题,我是看不出,
不过有query() 函数?


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2006-05-01, 15:58   #5 (页面定位)
xledoo
 
xledoo 的头像
 
注册日期: 2005-11-15
帖子: 109
xledoo 是普普通通的会员
默认

谢谢小叶~!
再帮忙看一下下面这段对不?

代码:
if($action == "reg")
{
    $query = "insert into users(name,email,passwd) values ('".$name."','".$email."','".$passwd."')";
    $result = mssql_query( $query,$connect );
我初学,没看出什么问题!但同样不行,还是“添加失败”传递OK!


独乐乐不如众乐乐
xledoo 当前离线   回复时引用此帖
回复

书签

标签

主题工具
显示模式 对此主题评分
对此主题评分:



所有时间均为北京时间。现在的时间是 15:00