gpt4 book ai didi

php - 如何在MySQL数据库中插入可变数据

转载 作者:行者123 更新时间:2023-11-29 15:29:23 26 4
gpt4 key购买 nike

我需要帮助来弄清楚为什么这不起作用。我显然不明白在数据库中插入变量的语法。如果数组中没有变量,此数据库插入就会正常工作,因此问题不会来自那里。我还在文件中进一步回显该变量,以便该变量存在并起作用。

if(isset($_POST['ticket_priority']))
{
// Get the nonce value for validation
$nonce = $_POST['ticket_nonce'];
// If the nonce does not verify, do NOT process the form.
if ( ! wp_verify_nonce($nonce, 'MyNonceAction')) {
// If this spits out an error, that means the nonce failed
echo 'Security error. Do not process the form.';
return;
}
insert_row();
}
$donneesPost = get_post();
echo $donneesPost->ID; //this works


function insert_row()
{
global $wpdb, $donneesPost;

$tablename = 'pp_candidates';
$data = array(
'candidate_email' => 'email@email.com', //just to see that without a variable it functions
'project_ID' => $donneesPost->ID,
'candidate_approved' => '1'
);

var_dump($data);
$formats = array(
// '%d', // ticket_id should be an integer
// '%s', // ticket_user_id should be an integer
// '%d', // ticket_description should be a string
// '%s' // ticket_user_id should be an integer
);

$wpdb->show_errors();
$wpdb->insert($tablename, $data, $formats);
}

function display_form(){
echo '
<form action="" method="post">';
// Add a nonce field
wp_nonce_field('MyNonceAction', 'ticket_nonce');
echo '
<input type="submit" name="ticket_priority" value = "Postuler pour ce projet" id="insertcandidatebutton">
</form>
';
}
display_form();

这是我收到的错误:

Erreur de la base de données WordPress : [Column 'project_ID' cannot be null] INSERT INTO pp_candidates (candidate_email, project_ID, candidate_approved) VALUES ('emqil@email.com', NULL, '1')

这是grumpy提出的解决方案

// This is what it was like in the original post
insert_row();
}
$donneesPost = get_post();

// This is what I changed to get it to work
$donneesPost = get_post();
insert_row();
}

最佳答案

如果$donnesPost没有名为ID的键,语句$donnesPost->ID将默默返回NULL,这就是这里发生的事情。

不管你信不信,如果 $donnesPost 根本没有定义,同样的事情也会发生:PHP 会向日志文件发送一条“警告”消息并继续运行!! 在我看来,在调用 update_post() 时,变量尚未定义。

关于php - 如何在MySQL数据库中插入可变数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58842651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com