【问题标题】:How to replace content of mysql table by cron?如何用cron替换mysql表的内容?
【发布时间】:2016-12-05 15:57:10
【问题描述】:

我现在有解决这个问题的问题。我想用 cron 运行(每个午夜),它将用一个空格替换我的 mysql 表(我在谈论 wordpress 数据库)中的指定内容。我想在那之后运行 cron 脚本,它将添加到每个帖子指定的文本中。但是,如果我用 PHP 尝试,插入的代码有问题,它真的很长,mysql 说我的字符串是错误的。

那个代码是:

<script type="text/javascript" async="true" data-ad-type="iframe v2.0" charset="utf-8" src="//cz.search.etargetnet.com/generic/uni.php?g=ref:47349,background_color:ffffff,background_image:clasic,background_opacity:95,border_color:ffffff,border_style:none,design_name:yellow,font:verdana,fsi:10,h_text_color:000000,h_title_color:948000,h_title_underline:0,h_url_color:948000,h_url_underline:0,hover_back:transparent,logo:1,logo_type:5,area:468x60,show_in_fb:1,show_in_fb_text:na google play CZ Vtipy,tabl:4,text_color:000000,title_color:948000,title_underline:0,url_color:948000,url_underline:0"></script>

你能帮帮我吗?

编辑: 这是我试图运行但有错误的 PHP 代码

<?php

if (!$link = mysql_connect('localhost', 'user', 'pass')) {
    echo 'Could not connect to mysql';
    exit;
}

if (!mysql_select_db('databasename', $link)) {
    echo 'Could not select database';
    exit;
}

$sql    = 'UPDATE wp_posts SET post_content = REPLACE (post_content,'<script type="text/javascript" async="true" data-ad-type="iframe v2.0" charset="utf-8" src="//cz.search.etargetnet.com/generic/uni.php?g=ref:47349,background_color:ffffff,background_image:clasic,background_opacity:95,border_color:ffffff,border_style:none,design_name:yellow,font:verdana,fsi:10,h_text_color:000000,h_title_color:948000,h_title_underline:0,h_url_color:948000,h_url_underline:0,hover_back:transparent,logo:1,logo_type:5,area:468x60,show_in_fb:1,show_in_fb_text:na google play CZ Vtipy,tabl:4,text_color:000000,title_color:948000,title_underline:0,url_color:948000,url_underline:0"></script>',' ')';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

EDIT2:

当我尝试启动 PHP 脚本时,它显示:

PHP Parse error:  syntax error, unexpected 'type' (T_STRING) in /home/xxxxx/xx/xxx/xxxx/xxxx_mysql.php on line 13

【问题讨论】:

  • 所以你从你正在使用的 php 脚本中得到错误?将该 php 脚本添加到您的帖子中。
  • 你应该提供你的数据库架构,mysql的确切错误,你的代码长度......
  • 谢谢,我忘记了。主帖已编辑:-)
  • frz3993 添加。我的代码长度为 1159 个字符
  • 或者你保留'并像'Update....post_content, \'&lt;script....&gt;...&lt;/script&gt;\',\' \')';这样在“脚本”中转义那些人

标签: php mysql wordpress cron


【解决方案1】:

问题在于引号。
您应该从查询中删除单引号。

你也可以试试这个

$link = mysqli_connect('localhost', 'user', 'pass','db') or die("Connection error");

$data = <<<EOT
<script type="text/javascript" async="true" data-ad-type="iframe v2.0" charset="utf-8" src="//cz.search.etargetnet.com/generic/uni.php?g=ref:47349,background_color:ffffff,background_image:clasic,background_opacity:95,border_color:ffffff,border_style:none,design_name:yellow,font:verdana,fsi:10,h_text_color:000000,h_title_color:948000,h_title_underline:0,h_url_color:948000,h_url_underline:0,hover_back:transparent,logo:1,logo_type:5,area:468x60,show_in_fb:1,show_in_fb_text:na google play CZ Vtipy,tabl:4,text_color:000000,title_color:948000,title_underline:0,url_color:948000,url_underline:0"></script>
EOT;

$sql    = "UPDATE wp_posts SET post_content = REPLACE (post_content,".$data.",' ')";
$result = mysqli_query($link, $sql);

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 2010-12-08
    • 2016-02-18
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    相关资源
    最近更新 更多