2017-07-10 16 views
-2

データベースフェッチアプリケーションを作成していますが、これはテスト用です。すべて正常に動作しますが、データベースから自動インクリメントIDを取得できません。それは '未定義のインデックスID'と言うので、私はid = nullをしようとしましたが、それは何も表示されません。データベースには、電子メール、パスワード、ID(AI、ユニーク)があります。 IDを取得するにはどうすればよいですか?PHP:データベースから自動インクリメントIDを取得できませんでした

コード:あなたはあなたのクエリを修正する必要が

$email = "[email protected]"; 
$password = "test"; 

$conn = mysqli_connect('localhost', 'root', '', 'users_database'); 

$query = "SELECT email, password FROM users_main_info WHERE email = '$email'"; 
$query_run = mysqli_query($conn, $query); 

$em = null; 
$pa = null; 
$id = null; 

while($row = mysqli_fetch_assoc($query_run)){ 
    $id = $row['id']; 
    $em = $row['email']; 
    $pa = $row['password']; 
} 

echo $id; 
+0

あなたのスクリプトは[SQL Injection Attack]の危険にさらされています(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) 何が起こったかを見てください[Little Bobby Tables](http://bobby-tables.com/)でも [あなたが入力をエスケープしている場合、その安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that -gets-around-mysql-real-escape-string) [準備されたパラメータ化された文](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly

答えて

4

$query = "SELECT id,email, password FROM users_main_info WHERE email = '$email'"; 

は、私はそれに役立つことを願って、これを試してみてください。

+0

を使用する必要はありません。 ** !!それは何をすべきなのですか – taha

+0

あなたの答えは[SQLインジェクション攻撃]の危険にさらされています(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) [リトル・ボビー・テーブル](http://bobby-tables.com/)でも起こったところで [入力をエスケープしている場合は、安全ではありません!](http://stackoverflow.com/questions/5741187/sql- (mysql-real-escape-string) [prepared parameterized statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用してください。 – RiggsFolly

+0

Ooops!それは愚かな間違いだった!おかげで多くの仲間。 stackoverflowの警告のために13分後に答えとしてマークします。 – Bill

関連する問題