使用してPostgreSQLの検索結果を表示する問題がどのようにPHP
こんにちは、私は、ユーザーが特定のE-番号を検索し、それが動物に由来するかどうかを確認することができます検索機能を作成しています、基本的にビーガンかどうか見ています。私はsuccessflly私のウェブサイト上でPHPを使用してデータベースに接続している。
ページの最上部にあるコード
:
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=***** port=*****
dbname=**** user=**** password=*****")
or die('Could not connect: ' . pg_last_error());
//collect
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
// Performing SQL query
$query = 'SELECT vegan FROM enumbers WHERE code = searchq';
}
?>
検索バー:私は今となっている 'ビーガン' の結果が表示されますどのように
<div id="tablebox">
<!-- Search bar -->
<p>Is It Vegan?</p>
<form name="form1" method="post" action="searchEnumbers.php">
<input name="search" type="text" size="30" maxlength="5" />
<input name="submit" type="submit" value="Search" />
</form>
</div>
検索された?結果を印刷する方法がわかりません。
更新
enumbersテーブルの列名は以下のとおりです。 'コード'、 '名前'、 'タイプ'、および 'ビーガン'。
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=db.dcs.aber.ac.uk port=5432
dbname=cs399030_16_17 user=sec17 password=Liverpool2112")
or die('Could not connect: ' . pg_last_error());
//collect
if(isset($_POST['search'])) {
$searchq = $_POST['search'];
// Performing SQL query
$pg_query = 'SELECT vegan FROM enumbers WHERE code = '.$searchq;
$result = pg_query($query);
foreach($result as $r){ //If you have multiple records or $result
echo "<p> Your ".$r->params." or ".$r['params']." here </p>"; //for instance
}
}
?>
私の答えを見てみましょう。簡単な引用があるので、変数$ searchqは変更されず、文字列として読み込まれます。あなたは '' vegan FROM enumbers WHERE code = $ searchq ";のような二重引用符を使うか、ドットで連結してください(私の答えのように)。 –
申し訳ありませんが、私はそれを正しく読んでいない、それはまだ結果を表示していません。 – RushFan2112
以下を試してみてください:var_dump(pg_fetch_all($ result));結果があるかどうかを確認してください。いいえの場合は、問合せをデータベースに直接実行し、条件に一致する行があるかどうかを調べます。私はあなたがファイル内で作業していると仮定しました: 'searchEnumbers.php'、そうですか? –