Некоторые из полей таблицы являются int (11), если пользователь заполняет форму и вставляет 1 или выше, она работает нормально, однако, когда они вставляют нуль, у меня большие проблемы, и это dosnt Работа. Как я получаю следующий скрипт для вставки 0 в качестве INTpdo throw error при вставке нуля
<?php
class add_qual {
private $db;
public function __construct(){
$this->db = new connection();
$this->db = $this->db->dbconnect();
}
public function new_qual($user_id,
$providers,
$code,
$title,
$title_under,
$full_title,
$description,
$comments,
$level,
$expires,
$period_months
$is_superceded) {
$flag='';
if($user_id==''){$flag='error'; }
if($providers==''){$flag='error'; }
if($title==''){$flag='error'; }
if($expires==''){$flag='error'; }
{$flag='error'; }
if ($flag=='') {
//if($user_id!=''){
$st = $this->db->prepare("INSERT INTO national_body_qualifications_list
(user_id,
providers,
code,
title,
title_under,
full_title,
description,
comments,
level,
expires,
period_months,
is_superceded)
VALUES (?,?,?,?,?,?,?,?,?,?)");
$st->bindParam(1, $user_id);
$st->bindParam(2, $providers);
$st->bindParam(3, $code);
$st->bindParam(4, $title);
$st->bindParam(5, $title_under);
$st->bindParam(6, $full_title);
$st->bindParam(7, $description);
$st->bindParam(8, $comments);
$st->bindParam(9, $level);
$st->bindParam(10, $expires);
$st->bindParam(11, $period_months);
$st->bindParam(12, $is_superceded);
$st->execute();
echo 'Yay it worked';
} else {
echo 'Max Fail';
}
}
}
?>
Название и описание не имеют большого смысла. Во всяком случае, почему вы не попробовали просто 'try {}' и 'catch()' исключения? – samayo
Просто набор примечаний '$ flag = 0' NOT' $ flag = '' '. И 'if ($ user_id === '') {$ flag = 1; } 'и т. д. –