0

データベースとphpにxampp v3.1.0 3.1.0を使用しています。ログインサイトを作ろうとしています。次の php コードでは、「swan」データベースに既に作成されている「admin」テーブルの行をフェッチして、ユーザーが終了したかどうかを確認しようとしていますが、mysql_select_db() を使用してデータベースを選択できず、エラーが発生しません1044 と表示される コードのどこが悪いの??

追加情報: 以前にブロックされていた 80 ではなく、Apache サーバーのポートを 8081 に変更しました。これはエラーと関係がありますか?

<?php  
$empid=$_POST["empid"];
$deptt=$_POST["deptt"]; 
$password=$_POST["pwd"];   

$con=mysql_connect("localhost","","",""); 
if(!$con) {   die("Error in connection"); } 

$db=mysql_select_db("swan",$con);               //unable to select database here
if(!$db) {   echo mysql_errno($con); }   

$query="SELECT empid,password FROM $deptt " ; 

$result=mysql_query($query,$con); 
if(!$result) {   die("error running sql"); } 

while($row=mysql_fetch_array($result))
 {  
    if($row['empid']==$empid && $row['password']==$password)   
    {      echo "exists";    }   
    else   
    {      echo "doesn't exist";   
    }  
 }

?>   
4

5 に答える 5

0

PHP 5 以降では、以下を使用して MySQL データベースを操作できます。

MySQLi 拡張機能 (「i」は改良を意味します) PDO (PHP データ オブジェクト) PHP の以前のバージョンでは、MySQL 拡張機能が使用されていました。ただし、この拡張機能は 2012 年に廃止されました。MySQLi または PDO を使用する必要がありますか? 短い答えが必要な場合は、「好きなものは何でも」になります。

MySQLi と PDO の両方に利点があります。

PDO は 12 の異なるデータベース システムで動作しますが、MySQLi は MySQL データベースでのみ動作します。

そのため、別のデータベースを使用するようにプロジェクトを切り替える必要がある場合、PDO を使用するとプロセスが簡単になります。接続文字列といくつかのクエリを変更するだけです。MySQLi では、コード全体 (クエリを含む) を書き直す必要があります。

どちらもオブジェクト指向ですが、MySQLi は手続き型 API も提供します。

どちらも準備済みステートメントをサポートしています。プリペアド ステートメントは SQL インジェクションから保護し、Web アプリケーションのセキュリティにとって非常に重要です。

例 (MySQLi プロシージャル)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

ソース: http://www.w3schools.com/php/php_mysql_connect.asp 詳細については

于 2016-02-21T01:32:19.790 に答える