在WordPress中使用PHP更新SQL问题
此程序接收一个参数,根据分别传递的参数值(on或off),将表中的字段设置为y或n,这表示希望接收电子邮件提醒以供日常阅读圣经 它第一次工作正常,并将一个带有适当y的记录插入到空表中。当我手动将MySQL中的字段数据更改为除y以外的其他内容时,更新工作正常,并使用on值运行它。它正确地将值更新回y 当我将参数更改为off时,它替换了将字段更改为n的记录。所有进一步的更新要么保持数据不变,要么将其替换为n,而不管参数值如何,尽管更新/插入的值表明SQL在代码中有y 如果我将SQL echo作为原生SQL剪切并粘贴到手动MySQl中,它将正常工作。这简直快把我逼疯了!请帮忙。我有很多程序,它们的代码要复杂得多,我似乎无法理解这一点在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作为原生
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.";
}