2025-06-21 15:30:40
$conn = mysqli_connect('127.0.0.1', 'root', '', 'test');
mysqli_query($conn, "set names 'utf8'");
mysqli_query($conn, 'set character_set_client=utf8');
mysqli_query($conn, 'set character_set_results=utf8');
$res = mysqli_query($conn, 'select * from orders');
while ($row = mysqli_fetch_object($res)) {
//用正则取payment中的汉字到$chinese变量
preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $row->payment, $chinese);
//把preg_match_all匹配的$chinese数组转为字符串
$chinese = implode('', $chinese[0]);
//把原字段中的中文用正则删掉
$payment = preg_replace("/[\x{4e00}-\x{9fa5}]+/u", '', $row->payment);
//执行更新
$sql = "update orders set payment = '$payment' , zhongwen = '$chinese' where Id = '$row->Id' ";
mysqli_query($conn, $sql);
}
demo中的数据库是我新建的一个测试库test 表名orders 主键Id
实际使用需要先改成你的实际真实数据库信息
执行前
执行后