我对php中的面向对象编程有些新意。目前正致力于界面项目。我有来自数据库的interne_nummer字段。我需要验证此字段以检查是否应该允许重复的interne_nummer字段,但不知道如何验证它。我发布了一个小代码,我想验证interne_nummer字段,因为其他一切在我的代码中正常运行。
case 'interne_nummer':
{
/* validate against valid interne_nummer */
$this->interne_nummer = trim(strval($value));
break;
}
例如,有一些浮动字段我正在验证它,如下所示,它的工作正常:
case 'schlussrate':
{
/* @todo validate as float*/
try {
$this->{$name} = $this->getFloatValue($value);
} catch (Execption $e) {
$this->{$name} = '';
// Throw Exception to higher Level
throw new Exeption("Field '".$name."': ".$e->getMessage());
}
break;
}
protected function getFloatValue($value) {
if (is_numeric($value)) {
return floatval($value);
}
throw new \Exeption("Value not allowed '".$value."'");
}
答案 0 :(得分:0)
你可以试试这样的函数:
public function exists($detail, $table, $column, $value) {
$stmt = $this->mysqli->prepare("SELECT `$detail` FROM `$table` WHERE `$column` = ?");
$stmt->bind_param('s', $value);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows >= 1) {
return true;
} else {
return false;
}
}
因此,当您调用该函数时,它可能如下所示:
// "SELECT `interne_nummer` FROM `workers` WHERE `interne_nummer` = '$interne_nummer_val'"
if($class->exists('interne_nummer', 'workers', 'interne_nummer', '$interne_nummer_val')) {
echo 'Number exists';
} else {
echo 'Number doesn\'t exists';
}