html怎么删除数据库数据库连接,如何从数据库中删除htmlentities()值?

$DBC = new mysqli("localhost", "user", "dbpass", "dbname");

$DBC->set_charset("utf8");

$tables = $DBC->query("SHOW FULL TABLES WHERE Table_type='BASE TABLE'");

while($table = $tables->fetch_array()) {

$table = $table[0];

$columns = $DBC->query("DESCRIBE `{$table}`");

$textFields = array();

$primaryKeys = array();

while($column = $columns->fetch_assoc()) {

// check for char, varchar, text, mediumtext and so on

if ($column["Key"] == "PRI") {

$primaryKeys[] = $column['Field'];

} else if (strpos( $column["Type"], "char") !== false || strpos($column["Type"], "text") !== false ) {

$textFields[] = $column['Field'];

}

}

if (!count($primaryKeys)) {

echo "Cannot convert table without primary key: '$table'n";

continue;

}

foreach ($textFields as $textField) {

$sql = "SELECT `".implode("`,`", $primaryKeys)."`,`$textField` from `$table` WHERE `$textField` like '%&%'";

$candidates = $DBC->query($sql);

$tmp = $DBC->query("SELECT FOUND_ROWS()");

$rowCount = $tmp->fetch_array()[0];

$tmp->free();

echo "Updating $rowCount in $table.$textFieldn";

$count=0;

while($candidate = $candidates->fetch_assoc()) {

$oldValue = $candidate[$textField];

$newValue = html_entity_decode($candidate[$textField], ENT_QUOTES | ENT_XML1, 'UTF-8');

if ($oldValue != $newValue) {

$sql = "UPDATE `$table` SET `$textField` = '"

. $DBC->real_escape_string($newValue)

. "' WHERE ";

foreach ($primaryKeys as $pk) {

$sql .= "`$pk` = '" . $DBC->real_escape_string($candidate[$pk]) . "' AND ";

}

$sql .= "1";

$DBC->query($sql);

}

$count++;

echo "$count / $rowCountr";

}

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值