如何告诉数据库不接受或插入或更新php计算中的负值。
考虑这个PHP代码:
$balancenow = $balance - $amount;
现在考虑上面的例子: '量'是500,余额是250, 其中inturns给我们的calc:
= 250-500 = -250
<?php
$message = '<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<style type="text/css">
table {
width:100%;
}
table, th, td {
border: 2px solid #ffffff;
border-collapse: collapse;
}
</style>
</head>
<body>
<div class="table">
<table id="t01">
<tr>
<td>'.$_POST["guestname"].'</td>
<td>'.$_POST["checkin"].'</td>
<td>'.$_POST["checkout"].'</td>
<td>'.$_POST["roomtype"].'</td>
<td>'.$_POST["rate"].'</td>
<td>'.$_POST["payment"].'</td>
<td>'.$_POST["resno"].'</td>
</tr>
</table>
</div> <!-- table -->
</body>
</html>';
//Set the headers and other mail data and mail it
$to = 'client@email.com';
$subject = 'My subject';
// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
// Additional headers
$headers[] = 'From: my@email.com';
// Mail it
mail($to, $subject, $message, implode("\r\n", $headers));
?>
现在在这种情况下,如何告诉数据库不接受负值并改为给出else语句..
感谢任何帮助..
答案 0 :(得分:1)
好的,我认为从DB端验证是正确的选择,它迫使程序员以正确的方式执行代码。
将列架构更新为UNSIGNED INT
以仅存储非负值
无符号类型可用于仅允许a中的非负数 列或当您需要更大的列的上限数字范围时。 例如,如果INT列是UNSIGNED,则列的大小为 范围是相同的,但其终点从-2147483648和 2147483647最多0和4294967295。
您也可以从PHP验证数据,但是它的第二级。