1

私はPHP初心者で、このフォームを機能させようとしていますが、クエリを実行すると「データの取得中にエラーが発生します」と表示されます。これに関するどんな助けも素晴らしいでしょう!

htmlフォームコードは次のとおりです。

<html>
<head>

<title>Where to go play basketball?</title>
<style type="test/css">
table {
background-color: #FCF;
}
th {
width:150px;
text-align:left;
}
</style>

</head>

<body>
<h1>Venue Search</h1>
<form method="post" action="search.php">
<label> Search Criteria: <input type="text" name="term" /></label>
<input type="submit" name="submit" value="Submit" />
</form>
</body>

</html>

そしてここにsearch.phpがあります:

<?php
mysql_connect ("localhost", "root","*****", "baskt_venues")  or die (mysql_error());

$term = $_POST['term'];

$sql = mysql_query("SELECT * FROM complete_table WHERE country LIKE $term")or die('error       getting data');

while ($row = mysql_fetch_array($sql, MYSQLI_ASSOC)){
echo '<br/> Country: '.$row['country'];
echo '<br/> Date: '.$row['date'];
echo '<br/> Time: '.$row['time'];
echo '<br/><br/>';
}

?>

みなさん、ありがとうございました。時間をかけてこれを見てください。

4

2 に答える 2

1

$termSQLに引用符を追加する必要があります。

$sql = mysql_query("SELECT * FROM complete_table WHERE country LIKE '$term'") ...

また、完全一致ではなく検索条件を含む国を検索で返すように、その周りに%記号を追加することもできます。

$sql = mysql_query("SELECT * FROM complete_table WHERE country LIKE '%$term%'")

編集:

mysql_connect4番目のパラメータがデータベースの名前ではないことに気づきました。接続後にへの呼び出しが必要になりmysql_select_dbます:

mysql_connect("localhost", "root","*****") or die(mysql_error()) mysql_select_db("baskt_venues") or die(mysql_error())

于 2013-03-06T15:12:21.997 に答える
0

はい、%記号と引用符を追加する必要がありますが、「$ term」と比較しないように、$termの内容と連結する必要もあります。したがって、次の行に何かが必要なようです:

"SELECT * FROM complete_table WHERE country LIKE '%" + $term + "'"
于 2013-03-06T15:14:43.163 に答える