2016-02-02 100 views
2

我非常新的PHP和寫的東西我認爲是一個簡單的PHP頁面將數據插入到一個MySQL表。該表只包含一個日期和兩個整數。問題在於整數。該代碼工作正常,數字1 - 100,但是當我進入一個零(0),它不會插入數據。我確定有一個簡單的解釋,但我找不到它。任何幫助表示讚賞。MySQL和PHP插入零問題

<?php 
error_reporting(0); 
require 'db/connect.php'; 
require 'db/security.php'; 

if (!empty($_POST)) { 
if (isset($_POST['logDate'], $_POST['shiftID'], $_POST['deployed'])) { 

    $date  = trim($_POST['logDate']); 
    $shiftID = trim($_POST['shiftID']); 
    $deployed = trim($_POST['deployed']); 
    $logDate = date('Y-m-d', strtotime($date)); 

     if (!empty($logDate) && !empty($shiftID) && !empty($deployed))  { 

      $insert = $db->prepare("INSERT INTO info 
            (logDate, shiftID, deployed) 
            VALUES (?,?,?)"); 

      $insert->bind_param('sii', $logDate, $shiftID, $deployed); 

      if ($insert->execute()) { 
       header ('location: test1.php'); 
       die(); 
      } 
     } 
} 
} 
+0

所以,檢查是否值= 0(或> 0)或你的分貝接受空/零值 –

回答

2

看,

if (!empty($logDate) && !empty($shiftID) && !empty($deployed)){ ... 

而從documentation of empty()

下面的事情被認爲是空的:

「」(空字符串)
0(0作爲整數)
0.0(0爲float)
「0」(0作爲字符串)
NULL
FALSE
陣列() (空數組)
$變種; (變量聲明,但沒有一個值)

所以不是empty(),使用isset()功能,像這樣:

if (isset($logDate) && isset($shiftID) && isset($deployed)){ ... 
+0

問題解決了!非常感謝,我一直在關注這個問題。 –

+0

@ M.Adair你非常歡迎! :-) –

0

的調用空()返回FALSE在0等整數刪除此檢查,或在這裏這個語句> == 0替換