我有一点问题,我一直在测试变种的数量,但我没有让它工作。 我在搜索结果中有一个链接..(全文搜索工作)
> 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: %s\n", 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();
?>
我希望有人可以帮助我..谢谢!
答案 0 :(得分:0)
这样做。
echo "<a href=profile1.php?id=$row[id]>INFO</a>";
或者这个。
echo '<a href=profile1.php?id='.$row['id'].'>INFO</a>'
答案 1 :(得分:-1)
'
)。您可以不在查询中使用单一勾号('
) IF 您绑定的变量是整数类型。您的链接应如下所示:
$id = $row['id'];
echo '<a href="profile1.php?id='.$id.'" >.INFO.</a>';
您的选择查询应该如下所示(profile1.php
):
$sql ="SELECT * FROM table WHERE id='".$_GET["id"]."'";
建议您使用mysqli_*
而不是deprecated mysql_*
API。请阅读此处以了解有关SQL injections的更多信息。
如果你将它放入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: %s\n", 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();
?>