2016-12-11 15 views
0

私はMySQLデータベース全体から特定の文字列を検索しようとしています。データベースの単一のテーブルからではなく、アンドロイドアプリでJSONオブジェクトとしてデータを取得しようとしています。MySQLデータベース全体で文字列を検索するには?

は、ここに私のPHPファイル

<?php 

error_reporting(E_ALL^E_DEPRECATED); 


$con = require("connection.php"); 


if (isset($_POST['submit'])) 
{ 

$username = $_POST['username']; 

$password = $_POST['password']; 

} 


$statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ? AND password = ?"); 

mysqli_stmt_bind_param($statement,"ss",$username,$password); 
mysqli_stmt_execute($statement); 
mysqli_store_result($statement); 
mysqli_stmt_bind_result($statement,$id,$name,$phone,$email,$username, $password); 

$user = array(); 

while(mysqli_stmt_fetch($statement)){ 
    $user[name]= $name; 

    $user[phone]= $phone; 

    $user[email]= $email; 

    $user[username]= $username; 

    $user[password]= $password; 

} 

echo json_encode($user); 
mysqli_stmt_close($statement); 

mysqli_close($con); 

? 

ですが、私は、データベース全体で検索したいのは、私だけではなく、ユーザーテーブルを検索する必要はありません。助けてください。

+2

検索するすべてのテーブルと列を指定してください –

+1

これはログインスクリプトのようです。なぜユーザーテーブルの外でユーザー名とパスワードを検索するのですか? – Shadow

+2

1.連想配列 '$ user ['name']'を使用する場合は、引用符を追加する必要があります。 2.データベースにパスワードを平易なテキスト文字列として保存していますか? PHPの['password_hash()'](http://php.net/manual/en/function.password-hash.php)と['password_verify()'] /php.net/manual/en/function.password-verify.php)。 5.5より低いバージョンのPHPを実行している場合は、[password_compat library](https://github.com/ircmaxell/password_compat)を使用して同じ機能を取得できます。 –

答えて

1

データベース全体から直接的にSELECTする方法はありません。代わりに、information_schemaからすべてのテーブルをthisのように取得できます。 次に、すべてのテーブルをループして、all columnsで、たとえば、次のような欄タイプを検索できます。あなたの必要に応じて、varchar、テキストまたは他のもの。

+0

information_schemaを検索するクライアントの権限を与えてもらえますか?それはひどい考えのように聞こえる。あなたはどこかで間違いを犯しましたか? – Takarii

+0

あなたの答えはLaris Nielsenに感謝しました、私はそれを行う別の方法を見つけました。 SQLクエリから、私が必要とするすべてのテーブルを選択します... –

+0

@Takarii、:-Sそうかもしれません! :-)私は仮想マシンで作業するために使用されているので、dbにアクセスできるのは実際には1人のユーザーだけです。 –

関連する問題