先申明一下~小弟今天刚学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了! 大家帮我看看啊!
方法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_*帐号! 请高手解答一下!拜托了!指条明路吧!:lovely:
PHP: $query = $db->query("INSERT INTO users(name,email,passwd) values ('".$name."','".$email."','".$passwd."')");//插入有问题吗? 如果连接正常,别的问题,我是看不出, 不过有query() 函数?
谢谢小叶~! 再帮忙看一下下面这段对不? 代码: if($action == "reg") { $query = "insert into users(name,email,passwd) values ('".$name."','".$email."','".$passwd."')"; $result = mssql_query( $query,$connect ); 我初学,没看出什么问题!但同样不行,还是“添加失败”传递OK!:ft: