初めて質問しました。私は現在、姓と名が別々のデータベースを検索しようとしています。例:PHPでmysqlにクエリを実行中にフルネームを検索できません
player_id | first_name | last_name
191 John Smith
192 Larry Citizen
193 Benjamin Example
私は、ユーザーがフルネームのみを使用してこのリストを検索できるようにしようとしています。ユーザーがsubmitを押すと、私は現在、次のコードを持っています。それはusersearch.phpを呼び出します。
session_start();
include '../con.php';
$player = $_POST['name'];
$sql = "SELECT * FROM characters WHERE (concat(first_name,' ',last_name)) = ($player)";
$result = mysqli_query($conn, $sql);
if (!$row = mysqli_fetch_assoc($result)) {
echo "Found no-one with the name $player. <a href='../search.php'>Try Again?</a>";
} else {
$_SESSION['selplate'] = $row['plate'];
$_SESSION['selname'] = $row['first_name, last_name'];
header("Location: ../profile.php?player=$player");
}
クエリーに関係なく、ユーザーが見つからず、常に「$ playerという名前の誰も見つかりませんでした。
これはこのプロジェクトの簡単な部分であると考えられていましたが、私は髪を引き出しています。
私はSOとGoogleの検索に1時間以上費やしているので、私のコードでなければなりません。それはうまくいくはずです。
私たちはどのように検索するのかを教えてください。 –
[Little Bobby](http://bobby-tables.com/)によると*** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-injection-in-php)*** [MySQLi](http://php.net/manual)の[prepared](http://en.wikipedia.org/wiki/Prepared_statement)ステートメントについて学びます。 /en/mysqli.quickstart.prepared-statements.php)。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –
プレイヤーの名前は何ですか?あなたは何の名前を探していますか、見つからないレコードは何ですか?私はちょうど... – ArtisticPhoenix