我尝试将第一个函数产生的值用作第二个函数的参数,但是SQL给我错误不能为NULL
Erreur de la base de données WordPress : [Column 'option_price' cannot be null]
INSERT INTO `wp_options_prices` (`option_name`, `option_value`, `option_price`) VALUES ('single-checkbox---3499163', 'Location du système vidéo : 5€', NULL)
我的第一个功能:
function get_option_price($option_name,$option_value) {
global $wpdb;
$table_name = $wpdb->prefix . 'options_prices';
$optionprix = $wpdb->get_var("SELECT option_price FROM `$table_name` WHERE option_name = '$option_name' AND option_value = '$option_value'");
echo $optionprix;
$wpdb->show_errors();
}
我的php调用了第二个函数:
<?php
$optionprix = get_option_price($field['name'],$field['value']);
set_option_price($field['name'],$field['value'],$optionprix);
echo $optionprix;
?>
我的第二个功能:
function set_option_price($option_name,$option_value,$option_price) {
global $wpdb;
$table_name = $wpdb->prefix . 'options_prices';
$data = array('option_name' => $option_name, 'option_value' => $option_value, 'option_price' => $option_price);
$wpdb->insert($table_name,$data);
$wpdb->show_errors();
}
回声还可以,它可以正确打印我的值,但是尝试将其用作我的第二个函数的参数无效。
如果我将$ optionprix =“ 10”包括在内,则我的第二个功能可以正常工作。
答案 0 :(得分:1)
您实际上并没有从get_option_price
函数返回期权价格,这就是$option_price
为NULL的原因。添加return
:
function get_option_price($option_name,$option_value) {
global $wpdb;
$table_name = $wpdb->prefix . 'options_prices';
$optionprix = $wpdb->get_var("SELECT option_price FROM `$table_name` WHERE option_name = '$option_name' AND option_value = '$option_value'");
echo $optionprix;
$wpdb->show_errors();
return $optionprix;
}
答案 1 :(得分:0)
错误清楚地表明,表option_price
中的字段wp_options_prices
不能为NULL
。
尝试:
INSERT INTO `wp_options_prices` (`option_name`, `option_value`, `option_price`)
VALUES ('single-checkbox---3499163', 'Location du système vidéo : 5€', '5'