gpt4 book ai didi

php - 在 mysql WordPress 数据库中的每一行的唯一 php 页面中显示字段

转载 作者:行者123 更新时间:2023-11-29 19:11:18 24 4
gpt4 key购买 nike

我的 Wordpress 数据库中有一个名为“races”的表。

enter image description here

ma​​in.php我的事件页面在“比赛”表中显示了我的所有比赛 - 这里一切正常

<?php
global $wpdb;
$table_name = $wpdb->prefix . "races";
$result = $wpdb->get_results ( "SELECT * FROM races ORDER BY date_start LIMIT 4" );?>
<div class="events-schedule">
<?php
foreach ( $result as $race ) {

$title = $race->title;
$raceid = $race->race_id;
$location = $race->venue;
$icon = $race->race_icon;
?>

<div class="wrapper">
<div class="row">
<div class="small-12 medium-4 columns event-icon text-center">
<img src="<?php echo $icon; ?>">
</div>
<div class="small-12 medium-8 columns text-center">
<?php echo $id; ?>
<h3 class="tagline location"><?php echo $location; ?> </h3>
<h2><?php echo $title; ?></h2>

<div><a class="btn yellow" href="/test/?id=<?php echo $id; ?>">Apply Now</a></div>
</div>
</div>

<?php
echo '</div>';

} ?>
</div> <?php
?>

test.php 当您转到 http://mywebsite.com/test/?id=64 时,我尝试在该单独页面上显示其他字段。我得到的只是数字“64”,这很好,因为这是正确的 ID!我正在尝试检索其他字段,例如标题、地点等,但不起作用。我错过了什么吗?

提前谢谢您。

<?php
$id = $_GET['id'];

echo $id;

$result = $wpdb->get_results ( "SELECT * FROM races WHERE id='$id'" );

foreach ($result as $race) {

$title = $race->title;
echo $title;
}
?>

最佳答案

您可能不会返回任何结果,因此 for 循环永远不会执行。你确定id 64确实存在吗?

将 URL 中的变量直接放入查询中也是一种糟糕的做法。我可以将 SQL 注入(inject)到您的系统中,就像将其附加到 URL 一样简单。您需要清理您的输入以保护自己免受攻击。

查看您的数据库架构后,看起来 id 字段实际上名为race_id。所以你的查询应该是这样的:$wpdb->get_results ("SELECT * FROM races WHERE race_id='$id'");

关于php - 在 mysql WordPress 数据库中的每一行的唯一 php 页面中显示字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43057861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com