我有以下代码,但它不起作用。我想这可能是因为该方法被删除了?不知道新的方法是什么。我在wordpress上。
<php?
mysql_query ("UPDATE $wpdb->users
SET access_key = $newAccessKey
WHERE ID = $currentUserID");
?>
那不起作用。
用户是表nome。
么?
此脚本将在php上的页面上运行。
答案 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' )
);
这样您就不必担心数据库连接或已弃用的功能。