php - 替换字符串 PHP REGEX 中的模式

标签 php mysql sql

我有一个用于 INSERT 命令的字符串。当值为空时,INSERT 字符串中的相应位置将生成为:

VALUES ('', 'VALUE', '', '', '', 0, 1, '')

我想用 NULL 替换 '' 这样数据库就不会再抛出有关将 varchar 转换为类型 numeric 的错误:

VALUES (null, 'VALUE', null, null, null, 0, 1, null)

我尝试使用:

$build_values_m = str_replace($build_values_m, ", '', ", ", null, ");

但是,这带走了我的大部分 INSERT 字符串,并且不只是用 NULL 替换空值。

我该怎么做?

最佳答案

看起来您想将 "''" 替换为 "NULL" 并且您正在尝试这样做而不看手册:http://php.net/manual/en/function.str-replace.php

如果查看手册,您会发现参数的顺序是 Search、Replace、OriginalString。您正在尝试执行 OriginalString、Search、Replace——这显然行不通。因此,请尝试以正确的顺序进行操作:

$build_values_m = str_replace("''","NULL",$build_values_m);

然后,"''" 的所有实例都将替换为字符串 "NULL"

关于php - 替换字符串 PHP REGEX 中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37859137/

相关文章:

ruby-on-rails-3 - Rails3 Mysql2::Error: Unknown column - ActiveRecord::StatementInvalid

php - 从表中获取事件和非事件记录

MySQL:获得累积计数和差异计数的任何好方法?

php - 更快的 mysql 查询

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 为什么 Eclipse 反对 `static::$var` ?

mysql - SQL从表b中列出表a的关联数据

php - 组合两个表以按成本减去费用进行排序 - 需要复杂的 order by 语句吗?

php - Kohana 框架发生了什么?

javascript - 如何通过jquery代码获取html中的变量?