【发布时间】:2011-10-24 19:39:05
【问题描述】:
尝试使用 php/mysql 进行搜索和替换。我在指定的表头/列中执行此操作。当我的搜索词有值时,它可以正常工作。但是我想在指定列中搜索一个空字段并替换为一个值。当我的搜索词为空字符串时,它无法进行搜索和替换。有什么帮助吗?
$SearchAndReplace_header = isset($_POST['SearchAndReplace_header']) ? $_POST['SearchAndReplace_header'] : "";
$SearchAndReplace_search_term = isset($_POST['SearchAndReplace_search_term']) ? $_POST['SearchAndReplace_search_term'] : "";
$SearchAndReplace_replace_with = isset($_POST['SearchAndReplace_replace_with']) ? $_POST['SearchAndReplace_replace_with'] : "";
//foreach($fields as $key => $val) {
// if($SearchAndReplace_header == "all" || ($SearchAndReplace_header == $val)) {
// replace column value with parameter value
$sql = "UPDATE ".$table_name." SET ".$val." = REPLACE(".$val.",'".$SearchAndReplace_search_term."','".$SearchAndReplace_replace_with."')";
$db->query($sql);
// }
// }
【问题讨论】:
-
你能解释一下什么是空记录吗?不存在的记录?或记录匹配某些
WHERE子句? -
为
null值添加一个例外。我认为REPLACE()遇到它时找不到可以替换的东西。 -
@ajreal: 具有空/空值的空记录
-
@karto -
NULL <> ''dev.mysql.com/doc/refman/5.0/en/working-with-null.html -
@ajreal:我明白了。但是你可以为我的代码做一个例子吗?