我将MYSQL连接到搜索字段时遇到问题。 PHP代码看起来合乎逻辑,但它没有显示任何结果。在MYSQL中直接搜索工作得非常好。但是当谈到网站搜索时,它并没有起作用。
我在粘贴之前删除/交换了主机,用户,密码和dbname。
感谢您的帮助!
<body>
<?php
$q = intval($_GET['q']);
$con = mysqli_connect('HOST','USER','PASSWORD','DBNAME');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"DBNAME");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);
echo "<table>
<tr>
<th>First Name</th>
<th>Last Nname</th>
<th>City/Village</th>
<th>Oblast</th>
<th>Language</th>
<th>Download</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['cityvillage'] . "</td>";
echo "<td>" . $row['oblast'] . "</td>";
echo "<td>" . $row['language'] . "</td>";
echo "<td>" . $row['download'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
</body>
答案 0 :(得分:1)
尝试更改此行:
$sql="SELECT * FROM user WHERE id = '".$q."'";
对此:
$sql="SELECT * FROM user WHERE id = '$q'";
您的连接和退出查询似乎会导致一些问题。
注意你很容易受到sql注入攻击。由于您使用的是mysqli,因此您可以考虑使用mysqli prepared statements。