【发布时间】:2014-11-24 12:50:29
【问题描述】:
我下面的代码行应该使用(在这种情况下)预定义的值来更新 NULL 值字段。当我执行我的 wpdb 查询时,页面给出了 500 错误。
$wpdb->query( $wpdb->query( "UPDATE ziekbeter SET healthy= '1994-06-04' WHERE person = 5 AND sick IS NOT NULL AND healthy IS NULL") );
有人可以看看这行代码并可能告诉我有什么问题吗?
代码在单击按钮时被执行。
添加了我的 wp 表的屏幕截图。
个人 ID 和健康日期将是动态的,但现在我保持静态。
profile.php
<?php
$user_ID = get_current_user_id();
echo $user_ID;
global $wpdb;
if ($wpdb->get_results( "SELECT * FROM ziekbeter WHERE person = $user_ID AND healthy IS NULL"))
{
$row = $wpdb->get_results( "SELECT * FROM ziekbeter WHERE person = $user_ID AND healthy IS NULL");
{
?>
<form action="<?php bloginfo('url'); ?>/wp-content/themes/stk/ziekbeter.php" method="post">
<input type="submit" name="submitBeter" value="Meld mij beter!">
</form>
<?php
}
}
elseif ($wpdb->get_results("SELECT healthy FROM ziekbeter WHERE person = $user_ID AND healthy IS NOT NULL"))
{
$row = $wpdb->get_results( "SELECT * FROM ziekbeter WHERE person = $user_ID AND healthy IS NOT NULL");
{
?>
<form action="<?php bloginfo('url'); ?>/wp-content/themes/stk/ziekbeter.php" method="post">
<input type="submit" name="submitZiek" value="Meld mij ziek!">
</form>
<?php
}
}
else {
?>
<form action="<?php bloginfo('url'); ?>/wp-content/themes/stk/ziekbeter.php" method="post">
<input type="submit" name="submitZiek" value="Meld mij ziek!">
</form>
<?php
}
?>
ziekbeter.php
if(isset($_POST['submitZiek']))
{
/* This function will come after i got the submitBeter working */
}
elseif(isset($_POST['submitBeter']))
{
$wpdb->query( $wpdb->query( "UPDATE ziekbeter SET healthy= '1994-06-04' WHERE person = 5 AND sick IS NOT NULL AND healthy IS NULL") );
echo "submitBeter wordt uitgevoerd";
}
如果我用 echo 替换 wpdb-> 查询,代码将正确执行并运行 echo 没有任何问题。
【问题讨论】:
-
我现在正在讨论它是否会在日期中的“-”处中断。它会在 1994-06-04 破折号处中断吗?
-
不,日期格式正确。您的专栏是
healthy日期还是常规varchar?您能否提供所有列的确切列类型? -
健康列是一个日期字段
-
在
$wpdb->query....之前和之后发布您的代码 -
为什么不只是一个
$wpdb->query( $wpdb->query( .. ) );而不是$wpdb->query( .. );?
标签: mysql database phpmyadmin wordpress