-3
MySQLのデータをPHPのWebページに表示しようとしましたが、データが表示されません。MySQLのデータがPHPのWebページに表示されない
私は変数searchterm
とsearchtype
をHTMLコードで上位に宣言しています。 HTMLコードには、ドロップダウンメニューのオプションと、ユーザーが検索するオプションのみがあります。
ただし、コードを実行すると、データは表示されません。私が得るのは、「発見されたプロジェクトの数」です。これは、データが表示されることを意味します。
私が持っている完全なHTMLコードとPHPコードは以下のとおりです。
<html>
<body>
<h1>Search</h1>
<form action="list_projects.php" method="POST">
<p>Choose Search Type: <br /></p>
<select name="searchtype">
<option value="projectNo">Project Number</option>
<option value="pjname">Project Name</option>
<option value="city">Project City</option>
</select>
<br />
<p>Enter Search Term: </p>
<input name="searchterm" type="text" size="20"/>
<br />
<input type="submit" name="submit" value="Search"/>
</form>
<?php
$hostname='mysql.uniwebsite.ac.uk';
$database='somedatabase';
$username='uniusername';
$password='unipassword';
$link = mysqli_connect($hostname, $username, $password);
if (!$link) {
die('Connection failed: ' . mysqli_error());
}
$searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);
if (!$searchtype || !$searchterm) {
echo 'No search details. Go back and try again.';
exit;
}
$query = "select * FROM tables WHERE ".$searchtype." like '%".$searchterm."%'";
$result = mysqli_query($link, $query);
$num_results = mysqli_num_rows($result);
echo "<p>Number of projects found: ".$num_results."</p>";
for ($i=0; $i <$num_results; $i++) {
$row = mysqli_fetch_assoc($result);
echo "<p><strong>".($i+1).". Project Number: ";
echo htmlspecialchars(stripslashes($row['projectNo']));
echo "</strong><br />Project Name: ";
echo stripslashes($row['pjname']);
echo "<br />Project City: ";
echo stripslashes($row['city']);
echo "</p>";
}
$mysqli_free_result($result);
$mysqli_close($link);
?>
</body>
</html>
次のエラーは、私が上でエラー報告の電源を入れたとき、私は何を得るです:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/list_projects.php on line 39
Number of projects found:
Notice: Undefined variable: mysqli_free_result in /home/list_projects.php on line 52
Fatal error: Function name must be a string in /home/list_projects.php on line 52
あなたはMySQL APIを混在させていますが、今のところあなたのコードを壊しています。 POST配列の値があるかどうかは不明です。 –
@ Fred-ii- MySQL APIの混在が見当たらず、コードで修正されました – smitthy
あなたの元の投稿は異なっていますhttp://stackoverflow.com/revisions/36536087/1 - '$ link = mysql_connect($ホスト名、$ユーザ名、$パスワード); if(!$ link){ die( 'Connection failed:'。mysql_error()); ' –