我有一个小问题,我一直在测试许多变体,但我没有让它工作。我在搜索结果中有一个链接。。(全文搜索工作)
> while($row = mysql_fetch_assoc($query)){
>
> $id = $row['id'];
>
> echo '<a href=profile1.php?id= . $row["id"] . >.INFO.</a>';
它将INFO显示为一个链接,当我点击它时,我会跳转到profile1.php,但我没有看到任何结果,它完全是一个空白页面。我得到的网址是/profile1.php?id=
这是我的个人资料.php
<?php
$mysqli = new mysqli("", "", "", ""); /* REPLACE NECESSARY DATA */
/* ESTABLISH CONNECTION */
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
}
$id=$_GET["id"];
if ($stmt = $mysqli->prepare("SELECT name, brand FROM table WHERE id=?")) {
$stmt->bind_param("d", $id); /* BIND DATA TO QUERY */
$stmt->execute(); /* EXECUTE QUERY */
$stmt->bind_result($name, $brand); /* BIND RESULT TO VARIABLE */
$stmt->fetch(); /* FETCH DATA */
printf("%s - %s", $name, $brand); /* ECHO DATA */
$stmt->close(); /* CLOSE STATEMENT */
}
$mysqli->close();
?>
我希望有人能帮我…谢谢!!!
执行此操作。
echo "<a href=profile1.php?id=$row[id]>INFO</a>";
或者这个。
echo '<a href=profile1.php?id='.$row['id'].'>INFO</a>'
注意:
- 您将id分配给了一个变量,因此最好将该变量用于链接。您应该学习如何将变量合并到链接中
- 在内部使用变量时,最好使用单个刻度(
'
)。在查询中不使用单刻度('
)是可以的IF绑定的变量是整数类型
你的链接应该是这样的:
$id = $row['id'];
echo '<a href="profile1.php?id='.$id.'" >.INFO.</a>';
您的选择查询应该如下所示(profile1.php
):
$sql ="SELECT * FROM table WHERE id='".$_GET["id"]."'";
还建议使用mysqli_*
,而不是不推荐使用的mysql_*
API。阅读此处了解有关SQL注入的更多信息。
如果你把它放在mysqli_*
准备好的语句中,它会是这样的(profile1.php
):
<?php
/* RE-ESTABLISH YOUR MYSQL CONNECTION */
$con = new mysqli("YourHost", "yourUsername", "YourPassword", "YourDB"); /* REPLACE NECESSARY DATA */
/* CHECK CONNECTION */
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
}
if ($stmt = $con->prepare("SELECT name, brand FROM table WHERE id = ?")){
$stmt->bind_param("i", $_GET["id"]); /* PARAMETIZE GET ID TO QUERY */
$stmt->execute(); /* EXECUTE QUERY */
$stmt->bind_result($name, $brand); /* BIND RESULT TO VARIABLE */
$stmt->fetch(); /* FETCH DATA */
printf("%s - %s", $name, $brand); /* ECHO DATA */
$stmt->close(); /* CLOSE STATEMENT */
}
$con->close();
?>