我有一个非常大的数据库表(55MB),用于保存某些内容的数据。每个字段都有自己的id和description字段。我想要做的是使用PHP获取描述值。好的,我能做到。但是,当我试图找到并替换某些“单词”时,就会出现问题。
描述值可以如下:
连接超时时显示错误消息$ s1。
现在,这个'$ s1'可以是几乎任何东西。但我想从描述字段中找到以'$'开头的每个单词,并用正确的值替换它们。在这种情况下,我想找到$ s1部分,然后将其设置为一个数组,然后用实际值替换它。一些例子$ s1可以是什么:$ s19593,$ d30,$ s2,$ a,$ r,$ z,$ o4 ......等等。基本上$ s之后的数字可以在1到70000之间变化。如果有人能指出我正确的方向并且教我一点经验,我可以把其余的值。
哦,描述值也可以如下:
$ o52连接失败,$ d2 $ s952。
非常烦人的表imo但没有办法。我无法编辑表格中的每个字段(51,000个字段)。
最好的问候
编辑:这是一个示例代码!
include "../config.php";
function getErrorValue($id)
{
if (empty($id) || $id == 0)
{
return 0;
}
mysql_select_db("$database", $connect);
$query_geterrordata = mysql_query("SELECT * FROM dbc_error WHERE id='$id'");
while ($row_geterrordata = mysql_fetch_array($query_geterrordata))
{
if (!empty($row_geterrordata['field170']))
{
$temp_err = $row_geterrordata['field170']; // description field
//$err = preg_match don't know how to continue here
}
}
if (!empty($err))
{
return $err;
}
else
{
return "Error fetching the code.";
}
}
答案 0 :(得分:0)
这将取出所有以$:
开头的变量preg_match_all('/(\$[^ ]+)/', $temp_err, $matches);
print_r($matches[1]);