Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql';整数值不正确';消息_Php_Mysql_Null - Fatal编程技术网

Php sql';整数值不正确';消息

Php sql';整数值不正确';消息,php,mysql,null,Php,Mysql,Null,当我试图提交此文件时,有人能看到我为什么会出现以下错误吗?我知道整个空对''的事情,但我没有任何''应该导致这一点。mySQL是新手,所以任何帮助都会很好 第1行“2”列的整数值=“”不正确 <?php $db_host = "localhost"; $db_username = "TEST"; $db_pass = "example"; $db_name = "questions"; @mysql_connect("$db_host","$db_username","$db_pa

当我试图提交此文件时,有人能看到我为什么会出现以下错误吗?我知道整个空对''的事情,但我没有任何''应该导致这一点。mySQL是新手,所以任何帮助都会很好

第1行“2”列的整数值=“”不正确

<?php

$db_host = "localhost";
$db_username = "TEST";

$db_pass = "example";

$db_name = "questions";

@mysql_connect("$db_host","$db_username","$db_pass") or die ("Could not connect to MySQL");
@mysql_select_db("$db_name") or die ("No database");


if ($_POST['parse_var'] == "contactform"){


$oneField = $_POST['one'];
$twoField = $_POST['two'];
$threeField = $_POST['three'];
$noneField = $_POST['none'];
$surveyField = $_POST['survey'];
$questionField = $_POST['questions'];
$guestField = $_POST['guest'];
$homeField = $_POST['home'];


$selected_radio = $_POST['radio'];
  if ($selected_radio == 'one') 
  {
  $oneField = '1';
  }

  else if ($selected_radio == 'two') 
  {
  $twoField = '1';
  }

  else if ($selected_radio == 'three') 
  {
  $threeField = '1';
  }

  else if ($selected_radio == 'none') 
  {
  $noneField = '1';
  }


if($surveyField == "yes"){
$surveyField = "1";
 } 
if($mysqlField == "yes"){
$mysqlField = "1";
 } 
if($guestbookField == "yes"){
$guestbookField = "1";
 } 
if($homeField == "yes"){
$homeField = "1";
 } 

$sqlUpdate = mysql_query("INSERT INTO questiondata (one, two, three, none, survey, 
       question, guest, home)
 VALUES  ('$oneField','$twoField','$threeField','$noneField','$surveyField','$questionField','$guestField','$homeField')")
 or die (mysql_error());
}
?>
列“2”是一个整数列,很明显,您试图在其中插入一个空字符串

检查空字符串,并将其替换为另一个值或null(如果该列可为null)


PS:我建议对其他字段也这样做。

您试图插入一个整数参数为空的
,即:

INSERT INTO questiondata (one, two) VALUES ('1','')
除非
one
two
是字符串字段,否则此操作无效。
修改代码,以便初始化空变量:

$oneField = isset($_POST['one']) ? $_POST['one'] : 0;
$twoField = isset($_POST['two']) ? $_POST['two'] : 0;

尝试删除insert语句中的“”并将所有字段初始化为NULL(大小写无关紧要)。
$oneField = isset($_POST['one']) ? $_POST['one'] : 0;
$twoField = isset($_POST['two']) ? $_POST['two'] : 0;