Mysql XAMPP DONOT将负值插入行

时间:2017-02-18 09:21:55

标签: php mysql

如何告诉数据库不接受或插入或更新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语句..

感谢任何帮助..

1 个答案:

答案 0 :(得分:1)

好的,我认为从DB端验证是正确的选择,它迫使程序员以正确的方式执行代码。

将列架构更新为UNSIGNED INT以仅存储非负值

  

无符号类型可用于仅允许a中的非负数   列或当您需要更大的列的上限数字范围时。   例如,如果INT列是UNSIGNED,则列的大小为   范围是相同的,但其终点从-2147483648和   2147483647最多0和4294967295。

您也可以从PHP验证数据,但是它的第二级。