doujiao4705 2019-03-04 20:03
浏览 887

尝试使用foreach循环使用MYSQL选择一行数据

Im trying to make a simple friend system with PHP & MYSQL and I don't know if it's even possible to get use data from another table with just their id. I am very new by the way so I don't know the language very well :) Any help would be very much valued

<?php if(count($friend_request) > 0): ?>
    <?php foreach ($friend_request as $friend_request): ?>
        <?php
            try{
                $statement = $db->query("SELECT * FROM users WHERE id = '$friend_request['id']' ");
                $user_info = $statement->fetchAll(PDO::FETCH_ASSOC);

            }catch (PDOException $ex){
                $user_info = flashMessage("An error occurred: " .$ex->getMessage());
            }   

        ?>
        <?=$friend_request['id'] ?>
        <?=$friend_request['user_requested'] ?>
        <?=$friend_request['user_to'] ?>
        <?=$friend_request['request_date'] ?>
    <?php endforeach; ?>
<?php else: ?>
    <center>
        <input id="emailInput" type="text" name="requestEmail" placeholder="someonesemail@bruh.com">
    </center>
<?php endif; ?>
  • 写回答

2条回答 默认 最新

  • douxie7738 2019-03-04 20:16
    关注

    You need to use curly syntax if you want to put a quoted string in the index of a variable inside a string.

    $statement = $db->query("SELECT * FROM users WHERE id = '{$friend_request['id']}' ");
    

    You can also leave the quotes out of the index, but that's not my preference.

    But it would be better to use a prepared statement.

    <?php
    if(count($friend_request) > 0):
        $statement = $db->prepare("SELECT * FROM users WHERE id = :id ");
        foreach ($friend_request as $friend_request):
            try{
                $statement->execute([':id' => $friend_request['id']]);
                $user_info = $statement->fetchAll(PDO::FETCH_ASSOC);
            }catch (PDOException $ex){
                $user_info = flashMessage("An error occurred: " .$ex->getMessage());
            }   
            ?>
            <?=$friend_request['id'] ?>
            <?=$friend_request['user_requested'] ?>
            <?=$friend_request['user_to'] ?>
            <?=$friend_request['request_date'] ?>
        <?php endforeach; ?>
    <?php else: ?>
        <center>
            <input id="emailInput" type="text" name="requestEmail" placeholder="someonesemail@bruh.com">
        </center>
    <?php endif; ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀