While循环中的PHP语法错误

时间:2011-12-08 05:33:04

标签: php mysql while-loop

我正在尝试将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语句中,我只是不知道在这种情况下管理引号的正确方法。

在此先感谢您的帮助,我无法在历史中找到一个好的答案。

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

删除包含$sql=...的整行并重新输入;不知何故,一个看不见的角色已经悄悄进入文本。您可以使用od -c进行验证。

答案 2 :(得分:1)

试试这个对我有用。

以下是以下代码:

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

答案 3 :(得分:0)

像这样写

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

答案 4 :(得分:0)

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