Php sql';整数值不正确';消息
当我试图提交此文件时,有人能看到我为什么会出现以下错误吗?我知道整个空对''的事情,但我没有任何''应该导致这一点。mySQL是新手,所以任何帮助都会很好 第1行“2”列的整数值=“”不正确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
<?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;