2017-10-20 7 views
0

私はデータベースから名前を返そうとしていますが、リクエストはデータベース内のすべての名前を返しています。PHPが名前を返す

私は実行する必要が要求にPHP:

<?php 
$servername = "localhost"; 
$username = "********"; 
$password = "********"; 
$dbname = "dbtest"; 

$FNAME = (isset($_POST['FNAME']) ? $_POST['FNAME'] :''); 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

$sql = "SELECT FNAME,LNAME FROM `accounts` where FNAME = `FNAME`"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    //output data of each row 
    while ($row = $result->fetch_assoc()) { 
     printf ("%s, %s<br>", $row["LNAME"], $row["FNAME"]); 
    } 
} 

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

HTMLフォームで:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
    <form action="php_dbtest.php" method="POST" id="FNAME"> 
    Search: <input type="text" name="name" /><br /> 
    <input type="submit" name="find" value="Search" id="add" /> 
    </form> 
</body> 
</html> 
+0

'' FNAME = 'FNAME' LIMIT 0,1 "'は、あなたがリクエストしているテーブルのファーストネームを返す 'FNAME、LNAME FROM 'accounts'同じ名前の複数のエントリがあることを意味するリストがあります。 – pirs

+0

POSTの値もチェックする必要があります。この作品が投票し、私の答えを承認する場合 – pirs

答えて

-1

ので、あなたがenter image description hereでクエリ内の引用符の種類を変更する変更する必要がありますあなたが使用した逆引用符は、常に真であり、すべての名前を返すwhere FNAME = FNAMEに評価されます。また、'FNAME''FNAME'という名前の1つしか検索しないので、where FNAME = '$FNAME'というようにクエリ内の変数を使用する必要があります。

さらに、フォームは入力をnameとし、form要素のid="FNAME"は考慮しません。あなたが$FNAME変数を使用してクエリをチェックする必要がある

<form action="php_dbtest.php" method="POST"> 
    Search: <input type="text" name="FNAME" /><br /> 
    <input type="submit" name="find" value="Search" id="add" /> 
    </form> 
0
$sql = "SELECT FNAME,LNAME FROM `accounts` where FNAME = '$FNAME'"; 

:だからあなたのような何かにフォームを変更する必要があります。

は、そして、あなたはあなたの送信ボタンは何のアクションが今、あなたのコード内で作業していないのでクリックif(isset($_POST['find']){ put your query in here }

をチェックする必要があります。送信ボタンがクリックされているかどうかを確認する必要があります。クリックすれば、他のコードやクエリに行くことができます。これがあなたを助けることを願っています。

+0

。 –

+0

それは私のために働いていない – CoryT87

0

PHPのHTML宣言も必要ありません。 <?php ?>を使用してPHPコードを保存する

関連する問題