PHP代码不会从MySQL数据库返回任何结果

时间:2015-08-19 13:05:40

标签: php mysql

我将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>

1 个答案:

答案 0 :(得分:1)

尝试更改此行:

$sql="SELECT * FROM user WHERE id = '".$q."'";

对此:

$sql="SELECT * FROM user WHERE id = '$q'";

您的连接和退出查询似乎会导致一些问题。

注意你很容易受到sql注入攻击。由于您使用的是mysqli,因此您可以考虑使用mysqli prepared statements