在WordPress中使用PHP更新SQL问题

在WordPress中使用PHP更新SQL问题,php,mysql,sql-update,sql-insert,Php,Mysql,Sql Update,Sql Insert,此程序接收一个参数,根据分别传递的参数值(on或off),将表中的字段设置为y或n,这表示希望接收电子邮件提醒以供日常阅读圣经 它第一次工作正常,并将一个带有适当y的记录插入到空表中。当我手动将MySQL中的字段数据更改为除y以外的其他内容时,更新工作正常,并使用on值运行它。它正确地将值更新回y 当我将参数更改为off时,它替换了将字段更改为n的记录。所有进一步的更新要么保持数据不变,要么将其替换为n,而不管参数值如何,尽管更新/插入的值表明SQL在代码中有y 如果我将SQL echo作为原生

此程序接收一个参数,根据分别传递的参数值(on或off),将表中的字段设置为y或n,这表示希望接收电子邮件提醒以供日常阅读圣经

它第一次工作正常,并将一个带有适当y的记录插入到空表中。当我手动将MySQL中的字段数据更改为除y以外的其他内容时,更新工作正常,并使用on值运行它。它正确地将值更新回y

当我将参数更改为off时,它替换了将字段更改为n的记录。所有进一步的更新要么保持数据不变,要么将其替换为n,而不管参数值如何,尽管更新/插入的值表明SQL在代码中有y

如果我将SQL echo作为原生SQL剪切并粘贴到手动MySQl中,它将正常工作。这简直快把我逼疯了!请帮忙。我有很多程序,它们的代码要复杂得多,我似乎无法理解这一点

if ($option=="on")
{
    echo "Option set to on";
    $message="<br>Reminder emails will start being sent tomorrow.<br><br>";
    $mail_flag='y';
    goto check_user;
}

if ($option=="off")
{
    echo "Option set to off";
    $message="<br>Reminder emails will stop being sent tomorrow.<br><br>";
    $mail_flag='n';
    goto check_user;
}

echo "Invlaid email option set.<br>Please inform us of this problem using the 'contact us' menu option.<br>Thank you.";
goto end;

check_user:
$prm_user_log_in=$current_user->user_login;

$select_data="SELECT * FROM SHD_Users_Data WHERE SHD_user_login ='$prm_user_log_in'";
echo "<br>select data = ".$select_data;

$result_select = mysqli_query($con,$select_data);
$rowcount=mysqli_num_rows($result_select);

if ($rowcount == 0)
{
    goto insert_record;
}

// record exists update it

$update_data="UPDATE SHD_Users_Data SET SHD_reminder_email = '$mail_flag' WHERE   SHD_user_login = '$prm_user_log_in'";
echo "<br>Update data is below <br>".$update_data;

if (mysqli_query($con,$update_data))
{
    Echo $message;
}
else
{
    echo "<BR>User Update Failed Error = ".mysqli_error($con).
    "<br> Please inform us of this problem using the 'contact us' menu option. <br>Thank you.";
}
goto end;

insert_record:

$insert_data="INSERT INTO SHD_Users_Data (SHD_user_login, SHD_reminder_email) VALUES ('$prm_user_log_in', '$mail_flag')";

echo "<br>Insert data is below<br>".$insert_data;

if (mysqli_query($con,$insert_data))
{
    Echo $message;
}
else
{
    echo "<BR>Failed Insert Error = ".mysqli_error($con).
    "<br> Please inform us of this problem using the 'contact us' menu option. <br>Thank you.";
    goto end;
}

end:
mysqli_close($con);
我会这样尝试:

if ($option=="on")   {
    echo "Option set to on";
    $message="<br>Reminder emails will start being sent tomorrow.<br><br>";
    $mail_flag='y';
}
if ($option=="off")   {
   echo "Option set to off";
   $message="<br>Reminder emails will stop being sent tomorrow.<br><br>";
   $mail_flag='n';
}

$prm_user_log_in=$current_user->user_login;
$sql = "replace into shd_users_data (SHD_user_login, SHD_reminder_email) values ('".$prm_user_log_in."', '".$mail_flag."')";

if (mysqli_query($con,$sql)) {
   Echo $message;
}
else {
   echo "<BR>User SQL Failed Error = ".mysqli_error($con).
        "<br> Please inform us of this problem using the 'contact us' menu option. <br>Thank you.";
}
if($option==“on”){
回显“选项设置为on”;
$message=“
提醒邮件将于明天开始发送。

”; $mail_flag='y'; } 如果($option==“off”){ 回显“选项设置为关闭”; $message=“
提醒邮件明天将停止发送。

”; $mail_flag='n'; } $prm\U user\U log\U in=$current\U user->user\U login; $sql=“替换为shd_用户_数据(shd_用户_登录,shd_提醒_电子邮件)值(“$prm_用户_登录。”,“$mail_标志”。”); if(mysqli_查询($con,$sql)){ 回声$信息; } 否则{ echo“
用户SQL失败错误=“.mysqli_错误($con)。 “
请使用“联系我们”菜单选项通知我们此问题。
谢谢。”; }
要使用此选项,请确保表在SHD_用户登录和SHD_提醒电子邮件上具有主键

if ($option=="on")   {
    echo "Option set to on";
    $message="<br>Reminder emails will start being sent tomorrow.<br><br>";
    $mail_flag='y';
}
if ($option=="off")   {
   echo "Option set to off";
   $message="<br>Reminder emails will stop being sent tomorrow.<br><br>";
   $mail_flag='n';
}

$prm_user_log_in=$current_user->user_login;
$sql = "replace into shd_users_data (SHD_user_login, SHD_reminder_email) values ('".$prm_user_log_in."', '".$mail_flag."')";

if (mysqli_query($con,$sql)) {
   Echo $message;
}
else {
   echo "<BR>User SQL Failed Error = ".mysqli_error($con).
        "<br> Please inform us of this problem using the 'contact us' menu option. <br>Thank you.";
}