私はPHPとMySQLが初めてです。フォームに入力された入力テキストに基づいてデータベースからの結果を表示するために使用する簡単な検索フォームを作成しようとしています。私のコードは次のようなものです:
Form.php
<!DOCTYPE html>
<html lang="en">
<html>
<head>
<title>test</title>
</head>
<body>
<form action="search.php" method="GET" id="form">
Name: <input type="text" name="name" >
Age:<input type="text" name="age">
Search<input type="submit" name="submit" id="Search" Value="Search">
</form>
</body>
</html>
Connect.php
<?php
$connect = mysql_connect('localhost','$user','$password');
if(!$connect){
die('Could not connect'.mysql_error() );
}
$db_selected = mysql_select_db('test');
if(!$db_selected){
die('wrong'.mysql_error() );
}
?>
Search.php
<?php
include("includes/connect.php");
$name=$_GET['name'];
echo $name;
$query = "SELECT * FROM `cats` WHERE name='\$name'";
$results= mysql_query($query);
if (!empty($results)){
echo "query successful" ;
exit;
}
$row=mysql_fetch_assoc($results);
echo "Age:".$row['age'];
echo "Name:".$row['name'];
?>
はecho $names
結果を正しく出力し、そうしecho "query successful"
ます。しかし
echo "Age:".$row['age'];
echo "Name:".$row['name'];
文字列部分のみをエコーし、クエリは結果を取得していないようです。
mysql_fetch_asso
c をに変更してみましmysql_fetch_array
たが、何もしません。ここで私が間違っていることを誰かに教えてもらえますか。私の DB テーブルには 2 つの列と 2 つの行があります。