这是我用来调用查询来更新数据库中的值的函数:
function updatabout($detailsarr)
{
$query = "UPDATE User_details SET Marital_status='" .
$detailsarr['m_status'] . "', Ethnicity='" .
$detailsarr['ethinicity'] . "', Primary_language='" .
$detailsarr['language'] . "', Education_level='" .
$detailsarr['education'] .
"' WHERE User_id=".$_SESSION['uid'];
$queryresult = mysql_query($query);
echo mysql_error().'<br />'.$query;
}
这里,除了“爱好”字段之外,所有数据都保存到我的数据库中,并且爱好字段的值在我的数据库中显示为“未定义”,并且在单击“保存”按钮后,我收到了警报& 查询我在这里使用的内容,但只有在刷新页面后,这些值才会显示在页面上...任何人都可以让我知道我在这段代码中遇到的错误...提前致谢..
最佳答案
更新好的,现在我看到您已经编辑并纠正了相关代码中的错误。但仍然<?php =$hobby ?>
对我来说没有意义。它告诉 PHP 解析器没有任何事情要做。使用echo
正如我的回答中所解释的那样。
对您的问题唯一可能的解释是用于生成 hobby
的代码输入字段,特别是此片段 value=<?=$hobby?>
有问题。
原因:
PHP 处理 <?
和<?
不同。前者按原样回显,后者告诉 PHP PHP 代码此时已启动,并对其进行处理。然后是不必要的=
并失踪;
.
解决方案:
首先使用value="<?php echo $hobby; ?>"
始终建议使用完整的 PHP 标签 () 而不是短标签 () 然后您需要告诉 PHP 回显/打印 $hobby
的值在这里使用 echo
。现在输出 HTML 应该是 value="_Some_Hobby_"
现在,如果输出 HTML 仍然是 value=""
即空,那么你需要检查是否$hobby
实际上具有一个值。
如http://codepad.org/dvf9bwSd所示在案例 3 中,
value="<?php echo $hobby; ?>"
PHP 解析器只是将 <php .... ?>
分块出来事物原样。所以使用文字 <
& >
.
现在,在情况 1 中,
value="<?php echo $hobby; ?>"
<?php
var_dump($hobby);
?>
回响$hobby
变量而不为其分配任何值不会打印任何内容。和var_dump
还返回 NULL
继续讨论案例 2,
<?php
$hobby = "Coding";
?>
value="<?php echo $hobby; ?>"
<? var_dump($hobby); ?>
为 $hobby
定义/赋值然后回显它给我们想要的结果 value="Coding"
和var_dump
还说它是String
的length=6
关于php - 将值从数据库保存并获取到页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662307/