douchuifk90315 2013-11-05 13:41
浏览 54
已采纳

如何包含if(查询中的isset)

This little piece of code gives Notice: Undefined index: placeno1

I know it can be fixed by using if(isset()), but I have no idea how to place this on the correct matter in this $query line.

Tried a lot, but can't get it right.

<?php 
$query = mysql_query("SELECT `id` FROM `place` WHERE `placeno` = '".$_SESSION['placeno'.$i]."' LIMIT 1");
while($row = mysql_fetch_object($query)){
?>

Solution is

<?php 
if(isset($_SESSION['placeno'.$i])) {
$query = mysql_query("SELECT `id` FROM `place` WHERE `placeno` = '".$_SESSION['placeno'.$i]."' LIMIT 1");
while($row = mysql_fetch_object($query)){
}
}
?>
  • 写回答

2条回答 默认 最新

  • douzhi3105 2013-11-05 13:48
    关注

    Undefined index is a array notice. So possible notice source is 'placeno'.$i. You need to check it on every loop.

    I am assuming you are looping this code with for() loop. That is where $i is coming from.

    <?php 
    if (isset($_SESSION['placeno'.$i])) {
        $query = mysql_query("SELECT `id` FROM `place` WHERE `placeno` = '".$_SESSION['placeno'.$i]."' LIMIT 1");
        while($row = mysql_fetch_object($query)){
        }
    }
    ?>
    

    If it's a loop, you can stop the loop like this:

    <?php 
    if (!isset($_SESSION['placeno'.$i])) {
        break;
    }
    $query = mysql_query("SELECT `id` FROM `place` WHERE `placeno` = '".$_SESSION['placeno'.$i]."' LIMIT 1");
    while($row = mysql_fetch_object($query)){
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP