ホームページ >バックエンド開発 >PHPチュートリアル >PHPデータベース接続の問題
データベースクエリに接続します。問題は次のようなものです。クエリに 2 つのステートメントを使用しました。1 つは結果 $result を出力するために使用され、もう 1 つはパスワード $resultPass を決定するために使用されます。これを実行するには 1 つのステートメントのみを使用できますか?以前試してみましたが、最新のデータ行が欠落していました。パスワードは同じテーブルにあり、データの下 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 (Field to be intercepted (password), IndexStart, IndexEnd) jiequA, Field to be intercepted (password) A
Use jiequA ただ判断してください。