我已经有从网络表中抓取的数据,并且我注意到一些条目中有一些前导空格和 nbsp。我意识到在将数据插入 MySQL 之前,我应该在抓取时清理数据,但那是不久前的事了,如果不需要的话,我不想重复这个过程。我昨晚想出了这个 PHP 脚本(很晚),它一直工作到我尝试更新条目为止。
<?php
require_once("login.php");
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database);
$query = "SELECT * FROM ingredients;";
$result = mysql_query($query);
$i = 1;
$e = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
//echo $row[1];
$str = trim(mysql_real_escape_string($row[1]));
$e[] = $str;
$i++;
}
//print_r($e);
/*
$i = 1;
foreach($e as $entry) {
$query = "UPDATE ingredients
SET ing_name = $entry
WHERE ing_id = $i;";
mysql_query($query);
$i++;
}*/
?>
几个问题:
- 有没有办法在不使用 PHP 的情况下在 MySQL 中严格执行此操作?
- 我应该使用什么函数来剥离字符串以转换为纯文本并删除所有前导、尾随和 nbsp 空格?
- PHP 脚本似乎在更新数据之前一直有效,这是什么原因?
谢谢