执行mySQL UPDATE命令

时间:2016-05-31 17:51:16

标签: mysql wordpress

我有以下代码,但它不起作用。我想这可能是因为该方法被删除了?不知道新的方法是什么。我在wordpress上。

<php?
mysql_query ("UPDATE $wpdb->users 
SET access_key = $newAccessKey
WHERE ID = $currentUserID");
?>

那不起作用。

用户是表nome。

么?

此脚本将在php上的页面上运行。

3 个答案:

答案 0 :(得分:1)

对字符串变量使用单引号并确保清理$ wpdb-&gt;用户使用concat

mysql_query ("UPDATE " . $wpdb->users  .
  " SET access_key = '$newAccessKey'
   WHERE ID = $currentUserID");

答案 1 :(得分:1)

首先你用错误的语法开始启动PHP脚本'

现在你应该检查access_key的类型,如果它是你所写的整数,如果它是varchar或text,那么你应该写''。为此,您的查询如下。

mysql_query ("UPDATE $wpdb->users 
SET access_key = '$newAccessKey'
WHERE ID = $currentUserID");

我希望你能得到解决方案。

答案 2 :(得分:0)

它不适合你的原因可能是很多事情。您可以通过启用错误报告(ini_set('display_errors', true); error_level(E_ALL);)并检查mysql错误(echo mysql_error();)来找到它。

其次,如果你在写这个问题时不是一个错字:

<php?没有启动PHP代码。它应该是<?php,你写它的方式它被服务器和浏览器忽略,因为它是一个非法的标签,其间的代码根本不被执行。

除此之外,$wpdb带来了您可以使用的update()函数:

$wpdb->update( 
    $wpdb->users, 
    array( 'access_key' => $newAccessKey ), 
    array( 'ID' => $currentUserID ),
    array( 
        '%s'    // if $newAccessKey is a string
        // '%d' // if $newAccessKey is an integer
    ), 
    array( '%d' ) 
);

这样您就不必担心数据库连接或已弃用的功能。