- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 COALESCE 仅更新从表单到我的 sql 数据库的非空输入,并且一切正常:
$horiz_deux = $_POST["horiz_deux"];
$horiz_gauche = $_POST["horiz_gauche"];
other ones ...
mysql_query("UPDATE inscription SET horiz_deux = COALESCE('$horiz_deux', horiz_deux) WHERE id = $dossard");
mysql_query("UPDATE inscription SET horiz_gauche = COALESCE('$horiz_gauche', horiz_gauche) WHERE id = $dossard");
other updates...
但是当我试图获得 .替换为 , 为
$horiz_deux = str_replace(".", ",",$_POST["horiz_deux"]);
它也会更新所有其他输入。
有什么想法吗?
最佳答案
我认为是因为函数 http://php.net/manual/en/function.str-replace.php总是返回一个字符串或数组。因此 $horiz_gauche 的值将始终与 NULL 不同,因此由 COALESCE 语句选择,从而导致数据库中 horiz_gauche 的更新。
您可以在将 $horiz_gauche 插入 SQL 语句之前尝试打印出它的值以确认其内容。
你可以试试:
$horiz_deux = isset($_POST["horiz_deux"]) ? $_POST["horiz_deux"] : '';
if ($horiz_deux != '')
{
$horiz_deux = str_replace(".", ",",$horiz_deux);
mysql_query("UPDATE inscription SET horiz_deux = COALESCE('$horiz_deux', horiz_deux) WHERE id = $dossard");
}
这很麻烦,您可以编写一个循环遍历所有输入字段并检查它们的有效输入:
$myFieldNames = array('horiz_deux','horiz_hauche','something_else');
foreach ($myFieldNames as $fieldName)
{
$value = isset($_POST[$fieldName]) ? $_POST[$fieldName] : '';
$value = str_replace(".", ",",$value);
mysql_query("UPDATE inscription SET $fieldName = COALESCE('$value', $fieldName) WHERE id = $dossard");
}
关于php - 合并和 str_replace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871488/
当前代码仅将空格替换为破折号(-) $url = str_replace(' ','-',$url); 我只想在 URL 中使用字母、数字和破折号 (-)。 让我知道技巧。 最佳答案 你想要这个来生成
$str 是 foreach 中的某个值。 $str = str_replace('_name_','_title_',$str); 如何制作if str_replace? 我想做的事情 if hav
strtr 有两种形式: string strtr ( string $str , string $from , string $to ) string strtr ( s
str_replace — 子字符串替换 [str_replace] mixed str_replace ( mixed $search
我试图在回显之前从文本中删除句点和逗号之前的所有空格。 文本可能看起来像这样,并且到处都有空格。 Bla bla bla... 这是我的代码,尽管它成功删除了任何 () 并将其替换为“无”: $str
我有一个看起来很简单的查询。我在 PHP 中有以下代码: $newThumb = str_replace('style="width:170px;"','',$nolinkThumb); 我遇到的问题
您好! 我从 .xlsx 文件中获取字符串 ->"N°X" 我想用 Num_X 替换 "N°" 我正在尝试用 $var = str_replace("N°","Num_",$var); 但没有任何东西
我正在尝试仅获取视频文件的持续时间。 我将使用 ffmpeg 抓取任何长度的视频文件的精确 10 个缩略图。 为此,我需要找出持续时间,然后除以 10 来做 ffmpeg。 结果是一样的。 str_r
我正在使用 str_replace,但它无法正常工作。我有一个文本区域,输入是用表单发送的。当服务器接收到数据时,我想将新行更改为“,”。 $teams = $_GET["teams"]; $team
我已经研究过并且需要找到用一系列随机可能性替换需求的最佳方法。 即: $text = "Welcome to [city]. I want [city] to be a random version
这是我试图用“-”替换单词之间的空格的字符串。 $mystring = "Color red, Color blue, Color black"; $newstring = str_replace('
我需要打开一个文件,替换一些内容(12345 为 77348)并保存。据我所知 $cookie_file_path=$path."/cookies/shipping-cookie".$unique;
奇怪,我一定是漏掉了什么。 $city = "vancouver"; $insert1 = "https://www.site.ca/buy/vancouver/28130965/"; $url
我在将数组返回到指定字符串时遇到了问题。所以,这是我尝试过的代码。 $setValues = array("test1", "test2", "testurl"); $change = join("'
这个问题不太可能对任何 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛适用,visit the h
如何使用str_replace但在搜索字符串时不区分大小写? 例如,假设我想替换 ABcD与 a 。生成的命令将是 $string=str_replace("ABcD","a",$string); 。
我正在循环浏览表格中的标题,因此它本质上是这样的。 foreach($c as $row){ echo string_shorten($row['title']); } 我正在尝试使用一个 s
我正在尝试在 PHP 中进行重音字符替换,但得到的结果很奇怪,我的猜测是因为我使用的是 UTF-8 字符串,而 str_replace 无法正确处理多字节字符串。 $accents_search
$a = $_GET['a']; $d = array("æ", "ø", "å", "Æ", "Ø", "Å"); $e = array("æ", "ø", "å",
我有一个简单的 PHP 脚本,应该用反斜杠转义单引号和双引号。这是我的代码: $output = str_replace('"','\"',$input); $output = str_replace
我是一名优秀的程序员,十分优秀!