Maison >développement back-end >tutoriel php >php连接数据库问题
连接数据库查询。 问题是这样子,我用了两个语句来查询,一个用于输出结果$result ,一个用于判断密码$resultPass ,我能不能只用一个语句来做?我之前试过,就少了最新的一行数据。 密码在同一个表里,取该数据最后的4位和输入的密码来判断。
现在我又要增加功能了,修改表里的数据,难道又要用一个新的语句来操作?这样会不会影响页面的响应,我现在页面的应用,查询数据都感觉有点慢。
$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("连接不上数据库"); //select a database to work with$selected = mssql_select_db($myDB, $dbhandle) or die("连接不上指定数据库"); $username=trim($_POST['username']);$password=trim($_POST['pass']);//declare the SQL statement that will query the database$query = "select top 6 * from WEB_VIEW where DNBH='$username' order by SFMonth desc ";//execute the SQL query and return records$result = mssql_query($query) or die ("查询数据失败: ".mysql_error()); //连接数据库,用于输出查询结果$resultPass = mssql_query($query) or die ("查询数据失败: ".mysql_error()); //连接数据库,用于判断密码$numRows = mssql_num_rows($result); $numRowsPass = mssql_num_rows($resultPass); //$row=mssql_fetch_array($result);$rowPass=mssql_fetch_array($resultPass);session_start();$ask=$_POST['ask'];$dbpass=trim($rowPass[3]);$dbusername=trim($rowPass[0]);if ($username <> $dbusername || $password <> substr($dbpass,-4)) {echo "<h2>输入有误,请正确输入用户名和密码。谢谢!</h2>";} elseif ($ask<>$_SESSION['VCODE']) { echo "<h2>"; echo "验证码回答不正确!"; echo '<a href="javascript:window.history.back()">返回</a>'; echo "</h2>"; }else { echo $row[4]; //$row[0]、$row[1]、$row[2]............ }mssql_free_result($result);mssql_free_result($resultPass);mssql_close($dbhandle);
你在select语句里这样写:
SUBSTRING(要截取的字段(密码),indexStart,indexEnd) jiequA, 要截取的字段(密码) A
jiequA用来判断就是了。