PHP-在插入sql之前更改变量的值-无Ajax
我有变量PHP-在插入sql之前更改变量的值-无Ajax,php,Php,我有变量 $sql1 .= "Brukertype"; 它从已填充的文本框中获取信息集。它可以有值Administrator或值iskjorer 在将这些值插入SQL之前,更改这些值的最佳方法是什么? 管理员值应更改为值1,Iskjører应更改为值2 我无法在问题上使用选择函数下拉列表,因为需要在我的命令中启用/禁用它。因为您已经说明: 它可以有值管理员或值Iskjorer 我们只检查值是否为“管理员” 试试这个: $val = 'Administrator'; // user input
$sql1 .= "Brukertype";
它从已填充的文本框中获取信息集。它可以有值Administrator或值iskjorer
在将这些值插入SQL之前,更改这些值的最佳方法是什么?
管理员值应更改为值1,Iskjører应更改为值2
我无法在问题上使用选择函数下拉列表,因为需要在我的命令中启用/禁用它。因为您已经说明:
它可以有值管理员或值Iskjorer
我们只检查值是否为“管理员”
试试这个:
$val = 'Administrator'; // user input variable
$sql_val = ($val == 'Administrator') ? 1 : 2;
如果值为“Administrator”,则将$sql\u val设置为1,否则将$sql\u val设置为2,这是使用switch语句的合理位置。您需要一个“封送”函数,如下所示:
function marshal_input($input) {
$result = 0;
switch ($input){
case 'Administrator':
$result = 1;
break;
case 'Iskjører':
$result = 2;
break;
case 'SomethingYouHaventThoughtOfYet':
$result = 3;
break;
default:
$result = 0;
break;
}
}
但是,封送处理功能的实现几乎可以是任何内容:
function marshal_input($input) {
$options = array("Administrator" => 1, "Iskjører" =>2);
return $options[$input];
}
关键是您需要一些代码,这些代码可以从人类可读的形式映射到db所需的数字表示形式。那么你就这样称呼它:
$sql_version = marshal_input($sql1);//Doesn't overwrite the variable
//...or...
$sql1 = marshal_input($sql1);//Note this overwrites the variable.
为什么不能使用启用/禁用选择元素或其选项元素?因为如果需要,用户还需要能够在文本字段中输入其他内容。我是html/php的初学者,但到目前为止,这个项目正在按照我的意愿运行,问题是它太大了,我无法在这里发布整个内容。我想,我只是好奇我是否能用if语句解决我的问题?我希望知道投反对票的原因。