【问题标题】:Get data from database based on variable in URL根据 URL 中的变量从数据库中获取数据
【发布时间】:2021-01-22 19:18:00
【问题描述】:

例如,我正在尝试创建一个模板,该模板根据 URL 变量 ?=1&?b=siteurl 从数据库中获取一行数据。当访问http://www.example.com/?a=1&?b=siteurl 时,我想显示该特定行中的所有信息,例如标题。

    $id = $_GET['a'];
    $dp = $_GET['b'];
    $stmt = $mysqli->prepare( "select option_id,option_name,option_value from tablename WHERE option_id = ? AND option_name = ?");
    $stmt->bind_param("is", $id, $dp );
    $stmt->execute();
    $result = $stmt->get_result();
    if($result->num_rows > 0){
    while ($row = $result->fetch_assoc()) {
    echo '<span id="show">',"{$row['value']}",'</span>' ;
    }
  }
}

我认为它正在工作,因为我没有收到任何错误,但没有显示数据,如果我在 phpMyAdmin 中运行此查询,我会收到我想要获取的数据。

【问题讨论】:

标签: php mysql sql get


【解决方案1】:

您获得白页的原因可能是语法错误。查看您的代码,您将使用, 连接(连接)字符串——在PHP 中,您使用. 连接变量,因此您的回显语句应该是:

echo '&lt;span id="show"&gt;' . $row['value'] . '&lt;/span&gt;';.

我注意到的第二件事是您的网址标记;仅在链接中使用一次?(它表示变量的开始)。要在链接中指定多个变量,请用&amp; 分隔它们。所以你的示例链接应该是:http://www.example.com/?a=1&amp;b=siteurl

最后一点,为避免出现空白页面而不是错误页面,请确保在 PHP 中启用错误报告。将它放在文件的标题中应该可以:

ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(E_ALL);

不要忘记稍后将其删除,以免将应用程序错误泄露给陌生人。

【讨论】:

  • 我听从了你的建议,但现在我收到错误:未定义的索引:值,它在这一行 echo '',"{$row['value']} ",'' ;
  • 表示结果中不存在你要的索引。查看您的查询,它可能应该是$row['option_value']。您可以通过在 while 循环中执行 var_dump($row); 来检查行对象中的内容;然后它将显示所有值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多