1

I'm trying to display items for a database on my index, but only from the id's I want, not the whole table. So far ive tried this but it does not work:

Download.php

<?php

$id = $_GET['id'];

$con=mysqli_connect("kennyist.com","user","pass","table");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM `wp_wpfb_files` WHERE `file_id`=" . $id);

$row = mysqli_fetch_array($result)

mysqli_close($con);
?>

And im trying to echo it like this (saw something like this before):

<div class="version"><?php echo('download.php?id=27', $row['file_version']);?></div>
4

3 回答 3

1

首先,mysqli_connect现在处于不推荐使用的 mysqli 函数之下!这意味着,最好选择面向对象的版本!

这是您如何执行此操作的示例:

$link = new mysqli ("kennyist.com","user","pass","table");

/* 
if id is a string then go for this version 

$id = $link->real_escape_string($_GET['id']);
*/

$id = intval($_GET['id']); // if id is integer, this is better 

if ( $link->errno )
{
    echo "Failed to connect to MySQL: {$link->error}";
}

$result = $link->query("SELECT * FROM `wp_wpfb_files` WHERE `file_id` = $id");

if ( $result->num_rows ) $row = $result->fetch_assoc();

$link->close();

更好的是使用准备好的语句,但如果你不熟悉它们,一开始可能会有点棘手!无论如何,现在您可以按要求做!

<div class="version">
    <?php echo "download.php?id=27{$row['file_version']}"; ?>
</div>

为了防止发生错误,您尝试回显的内容仍然需要一些真实的事情:

  • file_version必须是表中的一列
  • $_GET['id']必须设置才能设置正确的$id
  • 表中必须有对应的记录file_id

注意

echo "download.php?id=27{$row['file_version']}";

将始终在任何给定页面上打印出相同id的内容,您可能想要的是将权利转发file_id到您的 download.php 页面!您可以通过以下方式执行此操作:

echo "download.php?id={$row['file_id']}&version={$row['file_version']}";

暗示

mysqli_fetch_array 默认获取索引和关联的数组,如果您不需要索引的数组,只需使用mysqli_fetch_assoc

mysqli_fetch_array返回对应于获取行的数组,如果结果参数表示的结果集没有更多行,则返回 NULL。

mysqli_fetch_assoc返回对应于获取的行的关联数组,如果没有更多行,则返回 NULL。

希望这可以帮助!

于 2013-05-02T00:35:04.147 回答
-2
SELECT " . $id . "  FROM wp_wpfb_files

如果 id=27,您的查询将如下所示

SELECT 27 FROM wp_wpfb_files

我认为你需要这样的查询:

SELECT id, file_version FROM wp_wpfb_files WHERE id = $id
于 2013-05-02T00:19:20.520 回答
-2

编辑:nvm 我的回答,op 编辑了他的问题以更改他的查询,就像我的回答一样

尝试像这样修改您的 $result 分配

$result = mysqli_query($con, "SELECT file_version FROM wp_wpfb_files WHERE id = ".$id);

编辑:删除假定 id 是字符串的代码

于 2013-05-02T00:25:39.193 回答