我不是mysql的专家,但我需要找到并替换数据
<h2 class="ui-box-title">Product Description</h2>
<div class="ui-box-body">
<p> </p> <h2 style="padding: 5.0px;">
<div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;">
我尝试使用此命令
SELECT *
FROM `oc_product_description`
WHERE `description` LIKE '%<h2 class="ui-box-title">Product Description</h2> <div class="ui-box-body"> <p> </p> <h2 style="padding: 5.0px;"> <div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;"> %'
LIMIT 0 , 30
但它返回0结果
我需要在表格描述中找到并用“”替换值如何做到这一点? 如果我使用此命令搜索
SELECT *
FROM `oc_product_description`
WHERE `description` LIKE '% <h2 class="ui-box-title">Product Description</h2>%'
LIMIT 0 , 30
它将返回结果显示行0 - 29
请告知专家需要帮助。赞赏。感谢
答案 0 :(得分:0)
数据库中代码的间距可能与给定的代码不同。
你可以这样做:
<?php
$1 = '<h2 class="ui-box-title">Product Description</h2>';
$2 = '<div class="ui-box-body">';
$3 = '<p> </p> <h2 style="padding: 5.0px;">';
$4 = '<div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;">';
$connect= mysqli_connect("localhost","root","","db"); //edit parameters
$query = "SELECT *
FROM `oc_product_description`
WHERE `description` LIKE '%".$1."%' AND `description` LIKE '%".$2%."'`description` LIKE '".%$3%."' AND `description` LIKE '%".$4%."'
LIMIT 0 , 30";
$query = mysqli_query($connect,$query);
if(mysqli_num_rows($query)==1){echo 'Found the correct string!<br>';
$assoc = mysqli_fetch_assoc($query);
echo $assoc['description'];
}
else if(mysqli_num_rows($query)>1){echo 'Found too much results!';}
else{echo 'Found nothing!';}
?>
您可以在插入数据库之前转义html字符串。 取代
$1 = '<h2 class="ui-box-title">Product Description</h2>';
$2 = '<div class="ui-box-body">';
$3 = '<p> </p> <h2 style="padding: 5.0px;">';
$4 = '<div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;">';
$connect= mysqli_connect("localhost","root","","db"); //edit parameters
使用
$connect= mysqli_connect("localhost","root","","db"); //edit parameters
$1 = mysqli_real_escape_string($connect,'<h2 class="ui-box-title">Product Description</h2>');
$2 = mysqli_real_escape_string($connect,'<div class="ui-box-body">');
$3 = mysqli_real_escape_string($connect,'<p> </p> <h2 style="padding: 5.0px;">');
$4 = mysqli_real_escape_string($connect,'<div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;">');
如果您仍然无法获得预期结果,则可能使用了htmlspecialchars()
,可能除了mysqli_real_escape_string()
之外。
修改添加htmlspecialchars
的变量$ 1,$ 2,$ 3和$ 4,如果不起作用,请尝试删除mysqli_real_escape_string
。
答案 1 :(得分:0)
你可以试试这个:
UPDATE oc_product_description SET description = REPLACE(description, '<h2 class="ui-box-title">Product Description</h2><div class="ui-box-body"><p> </p> <h2 style="padding: 5.0px;"><div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;">', '')
WHERE description LIKE ('%<h2 class="ui-box-title">Product Description</h2><div class="ui-box-body"> <p> </p><h2 style="padding: 5.0px;"><div style="max-width: 650.0px;overflow: hidden;font-size: 0;clear: both;"><div style="border: 1.0px solid #dedede;vertical-align: top;text-align: left;color: #666666;width: 120.0px;padding: 10.0px 15.0px;margin: 10.0px 10.0px 0 0;word-break: break-all;display: inline-block;"> %');
但在尝试之前只需保留表的备份。