PHP sql变量引用了两个函数
如果我想在像这样的两个函数中使用变量PHP sql变量引用了两个函数,php,sql,wordpress,Php,Sql,Wordpress,如果我想在像这样的两个函数中使用变量$post->user\u id,它将不起作用。为什么? foreach ($usermeta as $post) { echo $post->user_id; echo $post->name; echo $post->team; } function nicoupdate($post->user_id) { update_usermeta( $post->user_id , 'ptotali
$post->user\u id
,它将不起作用。为什么?
foreach ($usermeta as $post) {
echo $post->user_id;
echo $post->name;
echo $post->team;
}
function nicoupdate($post->user_id) {
update_usermeta( $post->user_id , 'ptotali', $_POST['ptolti'] );
}
我不明白
仍然不起作用:
$sql="SELECT `user_id`,
max(case when `meta_key` = 'name' then `meta_value` end) as name ,
max(case when `meta_key` = 'team' then `meta_value` end) as team ,
max(case when `meta_key` = 'ptotali' then `meta_value` end) as points ,
FROM wp_usermeta
GROUP BY `user_id`
ORDER BY points DESC";
global $wpdb;
$usermeta = $wpdb->get_results($sql) or die(mysql_error());
foreach ($usermeta as $post) {
echo $post->user_id;
echo $post->name;
echo $post->team;
}
function nicoupdate($user_id) {
update_usermeta( $user_id , 'ptotali', $_POST['ptolti'] );
}
怎么了?例如,如果我手动输入用户id,它就会工作。嗯,我以前从未见过这种符号
$usermeta作为$post
通常仅在foreach语句中使用。因此,首先需要删除$usermeta作为函数定义的一部分
function nico($post)
....
其次,您正在使用变量而不是名称声明另一个函数。试试这个
function nicoupdate($user_id)
....
然后用以下词语来称呼它:
noicoupdate($post->user_id);
什么不起作用?你会犯什么错误?RTFM:你说得对对不起:(我编辑了我只是想了解mechanism@nikz我的第二点仍然成立。您不能以现有方式定义函数参数列表。要么将用户id传递给函数(如上所示),要么将$post传递给函数。仍然不起作用…foreach($usermeta as$post){echo$post->user\u id;echo$post->name;echo$post->team;}函数nicupdate($user\u id)update\u usermeta($user\u id,'ptotali',$\u post['ptotti'])我回答了我自己的问题,展示代码。仍然不起作用,但不明白为什么。你怎么称呼它?把你的全部代码都写进你的问题里。