【问题标题】:PHP Syntax Error in While LoopWhile循环中的PHP语法错误
【发布时间】:2011-12-09 17:23:30
【问题描述】:

我正在尝试将 id 传递给隐藏的表单元素并遇到一些语法问题。

这是 MySQL 查询:

$sql="SELECT id,lastname,firstname FROM drivers_0135199";
$result=mysql_query($sql,$con);
echo mysql_error();

这是我的 While 循环和我试图回显的隐藏表单字段:

while($row=mysql_fetch_array($result)){
echo "<input type='hidden' name='idholder' value=".$row["id"]."/>";
}

mysql_error() 返回以下内容:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 

我知道问题出在隐藏函数的 echo 语句中,我只是不知道在这种情况下管理引号的正确方法。

提前感谢您的帮助,我在年鉴中找不到很好的答案。

【问题讨论】:

  • 从 mysql_error() 得到的错误是什么?
  • 你真的认为 MySQL 的灵性足以检测 PHP 错误吗?
  • 添加了 mysql_error() 供您观赏。

标签: php mysql while-loop


【解决方案1】:

您的隐藏字段回显语句语法正确。你说 MySQL 正在返回错误。仔细检查以下内容:

  1. 确保连接成功。
  2. 确保在连接后选择了数据库。
  3. 仔细检查您的字段名称是否正确。
  4. 仔细检查您的表名是否正确。
  5. 如果您从其他地方复制/粘贴 SQL 语句,请尝试重新输入以确保没有伪造字符进入。

【讨论】:

  • 现在取得一些进展,谢谢,以前从未遇到过这个问题。
【解决方案2】:

删除包含$sql=... 的整行并重新输入;不知何故,一个不可见的字符潜入了文本。您可以使用od -c进行验证。

【讨论】:

    【解决方案3】:

    试试这个它对我有用。

    以下是以下代码:

    <?php
    while($fetchregion=mysql_fetch_array($region))
    {
    ?>
     <input type="hidden" name="region" maxlength="30" size="70" value="<?php echo $fetchregion['REGION'];?>"/>
    <?php
    }
    ?>
    

    【讨论】:

      【解决方案4】:
      while($row=mysql_fetch_array($result)){
      ?>
      <input type="hidden" name="idholder" value="<?php echo $row['id']; ?>" />
      <?php
      }
      

      【讨论】:

        【解决方案5】:

        这样写

        echo "<input type='hidden' name='idholder' value='$row['id']' />";
        

        【讨论】:

          猜你喜欢
          • 2014-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多