我正在研究一个项目然后我遇到了这个问题。这是场景,当我在数据库中插入时,如果值为零则不能插入,但是当我检查我的数据库时,有零插入,我不知道我哪里出错或者我错过了捕获如果值等于零则不得插入。
以下是代码:
$ref_array = explode(',' , $ref_number);
$po_array = explode(',' , $po_number);
$inv_array = explode(',' , $inv_number);
$asn_array = explode(',' , $asn_number);
$adj_array = explode(',' , $adj_number);
$amount_array = explode(',' , $amount);
// count the number of po,invoice,asn and adj
if(count($po_array) != count($ref_array) || count($inv_array) != count($ref_array) || count($asn_array) != count($ref_array) || count($adj_array) != count($ref_array) || count($ref_array) != count($amount_array)){
foreach ($ref_array as $i => $ref_num){
$po_num = isset($po_array[$i]) ? $po_array[$i] : '' ; //leave blank there is no $po_array[$i]
$inv_num = isset($inv_array[$i]) ? $inv_array[$i] : '';
$asn_num = isset($asn_array[$i]) ? $asn_array[$i] : '' ;
$adj_num = isset($adj_array[$i]) ? $adj_array[$i] : '' ;
$amount_num = isset($amount_array[$i])? $amount_array[$i] : '';
if(intval($ref_num) != 0 ){
$conn->query ("INSERT INTO transaction_detail (`transaction_id`,`ref_number`,`po_number`,`inv_number`,`asn_number`,`adj_number`,`amount`)
VALUES ('$transaction_id','$ref_num','$po_num','$inv_num','$asn_num','$adj_num','$amount_num') " );
}
}
}
有人能帮助我吗?
答案 0 :(得分:1)
您只需删除条件的intval,因为它用于Get the integer value of a variable
。
第二次检查$ref_num
变量大于零
你的条件是
if(($ref_num) >0 ){
另请阅读intval()
答案 1 :(得分:0)
检查transaction_detail表是否已将po_number字段的默认值设为0。